Driver TWI/I2C - YouTube: Ciência Elétrica
Biblioteca Otimizada para Microcontroladores AVR
Carregando...
Procurando...
Nenhuma entrada encontrado
Referência do Arquivo twi_types.h

Definições de tipos, enumerações e assinaturas de callback do driver TWI. Mais...

#include <stdint.h>
#include <stddef.h>
Gráfico de dependência de inclusões para twi_types.h:
Este grafo mostra quais arquivos estão direta ou indiretamente relacionados com esse arquivo:

Ir para o código-fonte desse arquivo.

Definições de Tipos

typedef void(* TWI_Slave_Receive_Callback_t) (const uint8_t *data, size_t length)
 Callback para o modo Slave: acionado após o recebimento de dados.
typedef size_t(* TWI_Slave_Transmit_Callback_t) (uint8_t *data, size_t max_length)
 Callback para o modo Slave: acionado quando o Master solicita dados.
typedef void(* TWI_Master_Complete_Callback_t) (TWI_Status_t status, const uint8_t *data, size_t length)
 Callback de conclusão para o modo Master.
typedef void(* TWI_Error_Callback_t) (TWI_Status_t error)
 Callback genérico para tratamento de erros no barramento.

Enumerações

enum  TWI_Mode_t { TWI_MODE_MASTER , TWI_MODE_SLAVE }
 Modos de operação do módulo TWI. Mais...
enum  TWI_Clock_t { TWI_CLOCK_100KHZ , TWI_CLOCK_400KHZ }
 Frequências de clock (SCL) suportadas para o barramento. Mais...
enum  TWI_Status_t {
  TWI_OK , TWI_ERROR_NACK , TWI_ERROR_BUS_BUSY , TWI_ERROR_ARBIT_LOST ,
  TWI_ERROR_TIMEOUT , TWI_ERROR_INVALID_ARG
}
 Códigos de status e erro para operações TWI. Mais...

Descrição detalhada

Definições de tipos, enumerações e assinaturas de callback do driver TWI.

Este arquivo centraliza os tipos de dados fundamentais para garantir a consistência entre os modos Master e Slave.

Definição no arquivo twi_types.h.

Definições dos tipos

◆ TWI_Error_Callback_t

typedef void(* TWI_Error_Callback_t) (TWI_Status_t error)

Callback genérico para tratamento de erros no barramento.

Parâmetros
errorCódigo do erro detectado. Callback gen�rico para erros.

Definição na linha 68 do arquivo twi_types.h.

◆ TWI_Master_Complete_Callback_t

typedef void(* TWI_Master_Complete_Callback_t) (TWI_Status_t status, const uint8_t *data, size_t length)

Callback de conclusão para o modo Master.

Parâmetros
statusStatus final da transação (TWI_Status_t).
dataPonteiro para os dados recebidos (será NULL em operações apenas de escrita).
lengthQuantidade de bytes processados na transação.

Definição na linha 62 do arquivo twi_types.h.

◆ TWI_Slave_Receive_Callback_t

typedef void(* TWI_Slave_Receive_Callback_t) (const uint8_t *data, size_t length)

Callback para o modo Slave: acionado após o recebimento de dados.

Parâmetros
dataPonteiro para o buffer contendo os dados recebidos.
lengthQuantidade de bytes recebidos do Master.

Definição na linha 46 do arquivo twi_types.h.

◆ TWI_Slave_Transmit_Callback_t

typedef size_t(* TWI_Slave_Transmit_Callback_t) (uint8_t *data, size_t max_length)

Callback para o modo Slave: acionado quando o Master solicita dados.

Parâmetros
dataBuffer que deve ser preenchido pela aplicação com os dados a enviar.
max_lengthEspaço total disponível no buffer de saída.
Retorna
size_t Quantidade real de bytes que a aplicação colocou no buffer.

Definição na linha 54 do arquivo twi_types.h.

Enumerações

◆ TWI_Clock_t

Frequências de clock (SCL) suportadas para o barramento.

Enumeradores
TWI_CLOCK_100KHZ 

100 kHz (Standard Mode).

TWI_CLOCK_400KHZ 

400 kHz (Fast Mode).

Definição na linha 24 do arquivo twi_types.h.

◆ TWI_Mode_t

enum TWI_Mode_t

Modos de operação do módulo TWI.

Enumeradores
TWI_MODE_MASTER 

O microcontrolador controla o barramento e gera o clock.

TWI_MODE_SLAVE 

O microcontrolador responde a um endereço definido pelo Master.

Definição na linha 16 do arquivo twi_types.h.

◆ TWI_Status_t

Códigos de status e erro para operações TWI.

Enumeradores
TWI_OK 

Operação concluída com sucesso.

TWI_ERROR_NACK 

Dispositivo não respondeu (Not Acknowledge).

TWI_ERROR_BUS_BUSY 

O barramento já está sendo usado por outra transação.

TWI_ERROR_ARBIT_LOST 

Perda de arbitragem (comum em sistemas Multi-Master).

TWI_ERROR_TIMEOUT 

A operação excedeu o tempo limite de resposta.

TWI_ERROR_INVALID_ARG 

Parâmetro inválido passado para a função.

Definição na linha 32 do arquivo twi_types.h.