Cursos / Eletrônica / Projeto de Sistemas RF / Aula

arrow_back Aula 06 - Programação para Comunicação Serial

Configurando a USART – Registradores

Entenderam como acontece a transmissão e recepção pela USART em um PIC? Como eu falei, é um "jogo de registradores". Da mesma forma, configuramos o modo de operação do módulo USART, escrevendo em alguns registradores do PIC. Os principais registradores que influenciam no módulo são:

  • SPBRG – Conhecido como Baud Rate Generator. É alterando aqui que decidimos a velocidade de transmissão da USART.
  • TXSTA e RCSTA – são respectivamente Transmit Status and Control e Receive Status and Control. São usados para setar outras configurações da transmissão e recepção. As configurações no lado do receptor têm que ser compatíveis com os do lado do transmissor para que ocorra a transmissão.
  • TXREG e RCREG – São conhecidos como Transmit Data Register e Receive Data Register. Eles são os registradores em que são escritos os dados para transmissão e de onde são lidos os dados quando recebidos da USART. Lembra das figuras que vocês acabaram de ver? São exatamente aqueles registradores.
  • PIR1 e PIE1 – São respectivamente o Peripheral Interrupt Flag Register e o Peripheral Interrupt Enable Register. Esses registradores permitem que USART gere interrupções no PIC. As interrupções são usadas quando o PIC está executando um código e dados precisam ser transmitidos ou recebidos em background. Eles também podem ser lidos para verificar se um dado foi recebido ou pode ser transmitido.

Esses são os registradores que devem ser alterados na configuração. Lembre-se sempre de consultar o datasheet do PIC que está sendo utilizado para ter certeza de como setar corretamente a configuração que você deseja. Os registradores TXSTA e RCSTA definem várias configurações da USART, sendo que geralmente cada bit é responsável por setar alguma coisa. Eles serão detalhados mais adiante. Por enquanto, vamos ver como ajustamos a velocidade de transmissão.

Se liga!

Os registradores no PIC são nada mais do que locais na memória que devem ser configurados na inicialização do seu programa, porém ficar utilizando o endereço do registrador sempre que desejar alterar algo é bem improdutivo, além de abrir brechas para erros. Para a maioria dos microcontroladores existe um cabeçalho (geralmente um ".h" para a linguagem C) com definições dos endereços dos registradores que utilizam o próprio nome do registrador, facilitando assim a vida do programador.

Versão 5.3 - Todos os Direitos reservados