Você está na página 1de 17

UFCD 6072 – Microcontroladores-N3

UART

Curso Profissional de Técnico de Eletrónica, Automação e


Instrumentação
Disciplina: Sistemas Digitais

Professor: Rui Nunes


UART
Universal Asynchronous Receiver/Transmitter;
Não é um protocolo de comunicação;
É sim, um dispositivo físico dentro do
microcontrolador ou mesmo um dispositivo isolado na
forma de circuito integrado.
A função é transmitir e receber dados em série.

2 UFCD 6072 – Microcontroladores-N3


UART
Só são necessários dois fios para estabelecer a
comunicação entre duas UARTs;
A UART transmite dados de maneira assíncrona, o que
significa que não é preciso sinal de CLOCK;
Para detetar o inicio e o fim da transmissão, são
adicionados bits ao pacote de dados a transmitir;
Quando a UART que recebe os dados recebe o bit que
sinaliza o inicio da mensagem, esta começa a ler a uma
determinada frequência conhecida como baud rate.

3 UFCD 6072 – Microcontroladores-N3


UART
Baud rate: medida de transmissão de dados cuja
unidade é bits por segundo (bps);
Ambas UARTs devem ser configuradas com o mesmos
baud rate;
O pino TX de uma deve ser ligado ao pino RX da
outra e vice-versa;

4 UFCD 6072 – Microcontroladores-N3


O que é transmitido entre as
UARTs?
Os pacotes trocados entre as duas UARTs têm o
seguinte formato:

5 UFCD 6072 – Microcontroladores-N3


Constituição do pacote enviado
Start bit:
A linha de transmissão está n onível HIGH.
Para iniciar a tramsissão de dados a UART que transmite
altera o nível para LOW durante um ciclo do relógio.
A UART que vai receber, deteta esta alteração e começa
a ler os dados da linha de transmissão.
Data frame:
São os dados que se pretendem transmitir;
Pode ser de 5 a 8 bits, quando o bit de paridade é usado;
 Pode ser de 5 a 9 bits, quando o bit de paridade não é
usado
São enviados primeiro os bits menos significativos;
6 UFCD 6072 – Microcontroladores-N3
Constituição do pacote enviado
Parity:
Usado para fazer controlo de erros na mensagem;
É ‘1’ se número de ‘1’ é impar;
É ‘0’ se o número de ‘1’ é par
Stop bits:
Indica o fim da transmissão;
A UART que transmite leva o nível da linha de
transmissão para ‘0’ durante dois ciclos de relógio.

7 UFCD 6072 – Microcontroladores-N3


Transmissão de dados
A UART que vai transmitir os dados recebe os
mesmos do barramento de dados;

8
UFCD 6072 – Microcontroladores-N3
Transmissão de dados
São adicionados os restantes bits do pacote;

9 UFCD 6072 – Microcontroladores-N3


Transmissão de dados
O pacote é então transmitido

10 UFCD 6072 – Microcontroladores-N3


Transmissão de dados
A UART que recebe o pacote descarta os bits que não
são dados:

11 UFCD 6072 – Microcontroladores-N3


Transmissão de dados
Por fim, os dados são convertidos de série para
paralelo:

12 UFCD 6072 – Microcontroladores-N3


ARDUINO UART INTERFACE
O Arduíno Uno tem somente uma UART;
Os pinos RX e TX estão localizados nas saídas digitais
0 e 1;
Estes pinos são usados na comunicação USB, pelo
que, merecem uma atenção especial aquando do
momento da comunicação;
O n ível lógico nestes pnos é de 5V;

13 UFCD 6072 – Microcontroladores-N3


ARDUINO UART INTERFACE
Para configurar o baudrate:
Serial.begin(speed) – onde speed pode ter os seguintes
valores: 9600, 1200, 2400, 4800 , 19200, 38400, 57600,
and 115200 bps
Para verificar se existem dados para serem lidos:
Serial.available()
Para ler do buffer da UART:
Serial.read()
Para escrever no buffer da UART:
Serial.write(val)

14 UFCD 6072 – Microcontroladores-N3


Exemplo
Vamos controlar o led de um Arduíno através de um
outro Arduíno e vice-versa.

15 UFCD 6072 – Microcontroladores-N3


Exemplo

16 UFCD 6072 – Microcontroladores-N3


Exercício
Alterar o contador para incluir dois Arduínos;
No Arduíno 1 serão ligados os botões;
No Arduíno 2 será ligado o display de sete segmentos;
Ao carregar num botão o display o número mostrado
no display deverá incrementar/decrementar segundo o
botão pressionado;

17 UFCD 6072 – Microcontroladores-N3

Você também pode gostar