Table of Contents

Interface de Série

Esta biblioteca fornece funções assíncronas para uso no interface de série AVR.

Tipos de dados

Funções

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:

Exemplo

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);
}