Esta biblioteca fornece funções assíncronas para uso no interface de série AVR.
Função macro para calcular o valor da baud rate do registo USART em modo assíncrono. Parâmetros:
Inicializa o USART em modo assíncrono. Parâmetros:
Caractere de bloqueio de transmissão. As funções esperam até o buffer de transmissão ficar vazio antes de escreverem o caractere para o buffer. Parâmetros:
String de bloqueio de transmissão. Parâmetros:
Verifica os dados no buffer que recebe. Parâmetros:
Lê um caractere do buffer recebido. Antes de ler o utilizador tem de verificar se existe mesmo um caractere. Parâmetros:
Lê um caractere do buffer recebido se este existe. Parâmetros:
O interface USART é configurado para usar 8 bits, um bit de paragem, um baud rate de 9600 bps e sem modo de paridade. O programa envia uma string, espera até algum caractere ser recebido e lê-o de seguida.
#include <homelab/usart.h> // Use USART interface 0. usart port = USART(0); int main(void) { char c; // Interface initialization. usart_init_async(port, USART_DATABITS_8, USART_STOPBITS_ONE, USART_PARITY_NONE, USART_BAUDRATE_ASYNC(9600)); // String sending. usart_send_string(port, "Hello\n"); // Waiting for incoming data. while (!usart_has_data(port)) {} // Read out the received character. c = usart_read_char(port); }