Pular para conteúdo

Aula 10 - Barramento I2C (Inter-Integrated Circuit) ⚙️

Engenharia de Sistemas Embarcados e Microcontroladores


Agenda da Sessão 📅

  1. Contexto & Importância na Indústria
  2. Fundamentos da Arquitetura & Registradores
  3. Operação em Tempo Real
  4. Implementação Prática em C/C++
  5. Melhores Práticas de Projeto & Debug

1. Visão Geral do Problema 🎯

  • Sistemas dedicados a tarefas específicas e contínuas.
  • Restrições severas de energia, memória RAM e tempo de resposta.
  • Exigência de confiabilidade extrema (automotivo, médico, industrial).

2. Princípios Conceituais 🧠

  • Linhas SDA e SCL: Base operacional da aula.
  • Pull-Up Externo: Estruturação do hardware.
  • Endereçamento 7-bit: Diretrizes de implementação.

3. Código Exemplo 💻

// Leitura de registrador de sensor via barramento I2C
#include "driver/i2c.h"

esp_err_t i2c_read_sensor_reg(uint8_t dev_addr, uint8_t reg_addr, uint8_t *data, size_t len) {
    i2c_cmd_handle_t cmd = i2c_cmd_link_create();
    i2c_master_start(cmd)

4. Conclusões & Atividades 🚀

  • Concluir a leitura teórica da Aula 10.
  • Realizar o Quiz Interativo de 10 Questões.
  • Resolver a lista de exercícios com gabarito sanfonado.
  • Executar o Desafio de Projeto no Wokwi / Placa física.