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

Definições internas e Máquina de Estados (FSM) do driver TWI. Mais...

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

Ir para o código-fonte desse arquivo.

Estruturas de Dados

struct  TWI_Transaction_t
 Estrutura de controle para a transação TWI ativa. Mais...

Enumerações

enum  TWI_State_t {
  TWI_STATE_IDLE , TWI_STATE_START , TWI_STATE_SLA_W , TWI_STATE_SLA_R ,
  TWI_STATE_DATA_TX , TWI_STATE_DATA_RX , TWI_STATE_SLAVE_TX , TWI_STATE_STOP ,
  TWI_STATE_ERROR , TWI_STATE_PROBE
}
 Estados da Máquina de Estados Finita (FSM) do TWI. Mais...

Funções

void twi_handle_state (void)
 Gerenciador principal da Máquina de Estados.

Variáveis

volatile TWI_Transaction_t g_twi_txn
 Instância global da transação ativa.

Descrição detalhada

Definições internas e Máquina de Estados (FSM) do driver TWI.

Este cabeçalho contém as estruturas e estados que não devem ser acessados diretamente pelo usuário, mas que são fundamentais para o funcionamento da ISR (Interrupt Service Routine).

Definição no arquivo twi_internal.h.

Enumerações

◆ TWI_State_t

Estados da Máquina de Estados Finita (FSM) do TWI.

Enumeradores
TWI_STATE_IDLE 

Barramento ocioso, nenhuma transação ativa.

TWI_STATE_START 

Condição de START enviada.

TWI_STATE_SLA_W 

Endereço do Slave + bit de Escrita (W) enviado.

TWI_STATE_SLA_R 

Endereço do Slave + bit de Leitura (R) enviado.

TWI_STATE_DATA_TX 

Transmitindo dados (Master ou Slave).

TWI_STATE_DATA_RX 

Recebendo dados (Master ou Slave).

TWI_STATE_SLAVE_TX 

Slave em modo de transmissão ativa.

TWI_STATE_STOP 

Condição de STOP sendo gerada.

TWI_STATE_ERROR 

Estado de erro detectado.

TWI_STATE_PROBE 

Verificando presença de dispositivo no barramento.

Definição na linha 19 do arquivo twi_internal.h.

Funções

◆ twi_handle_state()

void twi_handle_state ( void )

Gerenciador principal da Máquina de Estados.

Chamado dentro da interrupção para decidir o próximo passo com base no status do hardware.

Definição na linha 381 do arquivo twi.c.

Variáveis

◆ g_twi_txn

volatile TWI_Transaction_t g_twi_txn
extern

Instância global da transação ativa.

Observação
Declarada como externa para que a ISR em twi.c possa manipulá-la.

Instância global da transação ativa.

Definição na linha 34 do arquivo twi.c.