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

arrow_back Aula 07 - Transmissão de Dados Através do Protocolo RS232 - Parte I

Parte I (Software)

Software do receptor

Como no transmissor, iremos colocar o código aqui e comentar. Basicamente, o que o receptor faz é (em um laço) esperar chegar algum valor na porta serial e, caso chegue, testa se é o valor que estamos esperando. Se for, acende o LED.

As linhas do include e da função configura_serial são as mesmas do transmissor, por isso não iremos comentar.

Aí se inicia a execução do programa. Definimos uma variável para guardar o valor recebido pela serial e configuramos a porta serial. É necessário também configurar a porta B como saída (pois o LED irá conectar-se a ela).

Aqui o laço começa. Precisamos iniciar a recepção colocando o valor de configuração no registrador RCSTA (o mesmo que configuramos na função de configurar a porta). Depois disso prendemos o programa em um laço que só sai quando o 6ª bit do registrador PIR1 é ligado (indicando que chegou um byte na serial).

Para ler o byte que chegou, simplesmente, lemos o valor do registrador RCREG. Em seguida, inicializamos o receptor novamente (para que fique pronto novamente para ler outro byte).

Finalmente, testamos se o valor recebido foi o esperado (85) e, se for, ligamos os bits da porta B (acendendo o LED). Após isso, esperamos um tempinho (para o usuário ver que o LED acendeu) e depois o apagamos. O laço volta e todo o processo se repete.

Se Liga!

A forma de escrever um byte, usada ainda há pouco (0x55), refere-se a um valor HEXADECIMAL (neste caso o valor 85). Mas porque usamos esse valor?

Bem, poderia ser qualquer valor, mas esse aí em binário é 01010101, o que fica fácil de gerar com um gerador de sinais e testar o receptor sem o transmissor!

Versão 5.3 - Todos os Direitos reservados