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

Exemplo 1: Operação Master simples (Escrita e Leitura assíncrona). Mais...

#include <avr/io.h>
#include <util/delay.h>
#include <stdio.h>
#include <avr/interrupt.h>
#include "twi.h"
Gráfico de dependência de inclusões para example1.c:

Ir para o código-fonte desse arquivo.

Definições e Macros

#define F_CPU   16000000UL

Funções

void USART_Init (void)
 Inicializa a UART0 para 9600 bps (8N1).
void USART_Transmite_String (const char *str)
 Envia uma string via UART0.
void on_complete (TWI_Status_t st, const uint8_t *data, size_t len)
 Callback de conclusão para transações Master.
int main (void)
 Ponto de entrada principal da aplicação.

Descrição detalhada

Exemplo 1: Operação Master simples (Escrita e Leitura assíncrona).

Este exemplo demonstra como inicializar o driver no modo Master e realizar operações de escrita e leitura em um Slave (0x10) utilizando callbacks.

Fluxo de execução:

  1. Inicializa a UART para monitoramento.
  2. Inicializa o TWI como Master a 100kHz.
  3. Registra a função on_complete para tratar o fim de cada transação.
  4. Dispara uma escrita e, após um atraso, dispara uma leitura.
  5. O processamento dos resultados ocorre inteiramente dentro do callback.

Definição no arquivo example1.c.

Definições e macros

◆ F_CPU

#define F_CPU   16000000UL

Definição na linha 17 do arquivo example1.c.

Funções

◆ main()

int main ( void )

Ponto de entrada principal da aplicação.

Definição na linha 45 do arquivo example1.c.

Este é o diagrama das funções utilizadas por essa função:

◆ on_complete()

void on_complete ( TWI_Status_t st,
const uint8_t * data,
size_t len )

Callback de conclusão para transações Master.

Implementação do callback de conclusão da transação.

Implementação do callback de conclusão.

Esta função é chamada pela ISR do TWI assim que uma transação termina, seja por sucesso ou erro.

Aviso
Como esta função é executada dentro de um contexto de interrupção, ela deve ser o mais rápida possível.
Parâmetros
stStatus final da operação (TWI_Status_t).
dataPonteiro para os dados lidos (NULL se a operação foi de escrita).
lenQuantidade de bytes recebidos.

< Esperado: 0x68.

Definição na linha 105 do arquivo example1.c.

Este é o diagrama das funções utilizadas por essa função:
Esse é o diagrama das funções que utilizam essa função:

◆ USART_Init()

void USART_Init ( void )

Inicializa a UART0 para 9600 bps (8N1).

Inicializa a UART para depuração.

Inicializa a UART para monitoramento.

Definição na linha 82 do arquivo example1.c.

Esse é o diagrama das funções que utilizam essa função:

◆ USART_Transmite_String()

void USART_Transmite_String ( const char * str)

Envia uma string via UART0.

Parâmetros
strPonteiro para a string (null-terminated).

Definição na linha 94 do arquivo example1.c.

Esse é o diagrama das funções que utilizam essa função: