|
Driver TWI/I2C - YouTube: Ciência Elétrica
Biblioteca Otimizada para Microcontroladores AVR
|
Interface pública do driver TWI/I2C para AVR. Mais...
Ir para o código-fonte desse arquivo.
Definições e Macros | |
| #define | F_CPU 16000000UL |
| Define a frequência da CPU caso não tenha sido definida via compilador. | |
Enumerações | |
| enum | TWI_BusState_t { TWI_BUS_IDLE , TWI_BUS_BUSY , TWI_BUS_ERROR } |
| Estados lógicos do barramento TWI. Mais... | |
Funções | |
| TWI_Status_t | twi_init (TWI_Mode_t mode, uint8_t address, TWI_Clock_t clock) |
| Inicializa o módulo TWI. | |
| void | twi_deinit (void) |
| Desinicializa o módulo TWI, desligando o hardware e interrupções. | |
| uint8_t | twi_bus_is_free (void) |
| Verifica se o barramento TWI está disponível para uma nova transação. | |
| TWI_Status_t | twi_master_start_write (uint8_t slave_address, const uint8_t *data, size_t length) |
| Inicia envio assíncrono de dados como Master. | |
| TWI_Status_t | twi_master_start_read (uint8_t slave_address, uint8_t *data, size_t length) |
| Inicia leitura assíncrona de dados como Master. | |
| TWI_Status_t | twi_master_start_write_read (uint8_t slave_address, const uint8_t *write_data, size_t write_length, uint8_t *read_data, size_t read_length) |
| Inicia uma transação combinada (Escrita seguida de Leitura) com Repeated Start. | |
| void | twi_master_register_callbacks (TWI_Master_Complete_Callback_t on_complete, TWI_Error_Callback_t on_error) |
| Registra os callbacks de eventos para o modo Master. | |
| void | twi_slave_register_callbacks (TWI_Slave_Receive_Callback_t on_receive, TWI_Slave_Transmit_Callback_t on_transmit) |
| Registra os callbacks de eventos para o modo Slave. | |
| TWI_Status_t | twi_slave_process (void) |
| Processa eventos pendentes no Slave. | |
| TWI_Status_t | twi_master_start_probe (uint8_t slave_address) |
| Realiza um "ping" no endereço para verificar se o Slave está presente. | |
| uint8_t | twi_had_timeout (void) |
| Verifica se a última transação foi abortada por tempo limite excedido. | |
| TWI_BusState_t | twi_get_bus_status (void) |
| Retorna o estado atual do barramento. | |
| TWI_Status_t | twi_master_write_read (uint8_t slave_addr, const uint8_t *tx_data, size_t tx_len, uint8_t *rx_data, size_t rx_len) |
| Versão síncrona/bloqueante de escrita seguida de leitura. | |
Interface pública do driver TWI/I2C para AVR.
Proporciona funções para operação Master e Slave, suportando modos de leitura, escrita e transações combinadas de forma assíncrona.
Definição no arquivo twi.h.
| #define F_CPU 16000000UL |
| enum TWI_BusState_t |
| uint8_t twi_bus_is_free | ( | void | ) |
Verifica se o barramento TWI está disponível para uma nova transação.
| void twi_deinit | ( | void | ) |
| TWI_BusState_t twi_get_bus_status | ( | void | ) |
Retorna o estado atual do barramento.
| uint8_t twi_had_timeout | ( | void | ) |
Verifica se a última transação foi abortada por tempo limite excedido.
| TWI_Status_t twi_init | ( | TWI_Mode_t | mode, |
| uint8_t | address, | ||
| TWI_Clock_t | clock ) |
Inicializa o módulo TWI.
| mode | Modo de operação (TWI_MODE_MASTER ou TWI_MODE_SLAVE). |
| address | Endereço Slave (0-127). Ignorado no modo Master. |
| clock | Frequência do barramento (TWI_Clock_t). |
Definição na linha 65 do arquivo twi.c.
| void twi_master_register_callbacks | ( | TWI_Master_Complete_Callback_t | on_complete, |
| TWI_Error_Callback_t | on_error ) |
Registra os callbacks de eventos para o modo Master.
| on_complete | Função chamada após sucesso. |
| on_error | Função chamada em caso de falha ou NACK. |
Definição na linha 97 do arquivo twi.c.
| TWI_Status_t twi_master_start_probe | ( | uint8_t | slave_address | ) |
Realiza um "ping" no endereço para verificar se o Slave está presente.
| slave_address | Endereço a ser testado. |
| TWI_Status_t twi_master_start_read | ( | uint8_t | slave_address, |
| uint8_t * | data, | ||
| size_t | length ) |
Inicia leitura assíncrona de dados como Master.
| slave_address | Endereço do dispositivo Slave. |
| data | Buffer onde os dados lidos serão armazenados. |
| length | Número de bytes a serem lidos. |
Definição na linha 348 do arquivo twi.c.
| TWI_Status_t twi_master_start_write | ( | uint8_t | slave_address, |
| const uint8_t * | data, | ||
| size_t | length ) |
Inicia envio assíncrono de dados como Master.
| slave_address | Endereço de 7 bits do dispositivo destino. |
| data | Ponteiro para o buffer de dados a serem enviados. |
| length | Quantidade de bytes no buffer. |
Definição na linha 332 do arquivo twi.c.
| TWI_Status_t twi_master_start_write_read | ( | uint8_t | slave_address, |
| const uint8_t * | write_data, | ||
| size_t | write_length, | ||
| uint8_t * | read_data, | ||
| size_t | read_length ) |
Inicia uma transação combinada (Escrita seguida de Leitura) com Repeated Start.
| slave_address | Endereço do Slave. |
| write_data | Buffer com dados de escrita (ex: endereço de registrador). |
| write_length | Tamanho da escrita. |
| read_data | Buffer para armazenar o retorno do Slave. |
| read_length | Tamanho da leitura esperada. |
Definição na linha 361 do arquivo twi.c.
| TWI_Status_t twi_master_write_read | ( | uint8_t | slave_addr, |
| const uint8_t * | tx_data, | ||
| size_t | tx_len, | ||
| uint8_t * | rx_data, | ||
| size_t | rx_len ) |
Versão síncrona/bloqueante de escrita seguida de leitura.
Versão síncrona/bloqueante de escrita seguida de leitura.
Esta função configura o hardware para enviar uma sequência de bytes e, imediatamente após (sem liberar o barramento), inicia a leitura de uma quantidade específica de bytes. É o método padrãoo para leitura de registradores em dispositivos como o DS3231.
| slave_addr | Endereço de 7 bits do dispositivo escravo (ex: 0x68). |
| tx_data | Ponteiro para o buffer de dados a serem enviados (ex: endereço do registrador). |
| tx_len | Quantidade de bytes a transmitir. |
| rx_data | Ponteiro para o buffer onde os dados recebidos serão armazenados. |
| rx_len | Quantidade de bytes a receber. |
| TWI_Status_t twi_slave_process | ( | void | ) |
Processa eventos pendentes no Slave.
| void twi_slave_register_callbacks | ( | TWI_Slave_Receive_Callback_t | on_receive, |
| TWI_Slave_Transmit_Callback_t | on_transmit ) |
Registra os callbacks de eventos para o modo Slave.
| on_receive | Chamado quando o Master envia dados para este endereço. |
| on_transmit | Chamado quando o Master solicita dados deste endereço. |
Definição na linha 103 do arquivo twi.c.