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

arrow_back Aula 10 - Transmissão de dados utilizando transceptor SPI

Código do receptor

No PIC receptor, as coisas vão funcionar de forma muito semelhante ao que foi feito no PIC transmissor. Como ambos transceivers são escravos, o modo de funcionamento na SPI vai ser o mesmo. Assim como os valores iniciais das saídas conectadas aos pinos CE e CSN.

O código de configuração do transceiver vai ser bem parecido, por uma questão bem lógica: eles têm que estar funcionando na mesma frequência e taxa de transmissão. Apesar disso, existirão, sim, algumas pequenas diferenças na configuração. Comece seguindo os passos 1 ao 4.3 da configuração do transmissor, e então siga os passos a seguir:

4.4. Informe o número de bytes dos pacotes a serem recebidos.

Como quem define se vai querer receber ou não a confirmação de recebimento é o transmissor, não há nada que você possa fazer aqui em relação a isso. Porém uma coisa que deve ser feita somente no receptor é informar quantos bytes o transceiver deve esperar receber pela rede sem fio antes de avisar ao PIC que existe um novo dado. Ou seja, você tem que informar ao transceiver o número de bytes do seu pacote. Para isso, você deve escrever esse número no registrador RX_PW_P0 do transceiver. Lembrando que no nosso experimento o pacote que estamos transmitindo tem apenas 1 Byte.

4.5. Configurar o transceiver como receptor e colocá-lo no modo "Power Up"

A configuração aqui é bem semelhante ao realizado no transmissor, com a diferença que você vai setar o bit PRIM_RX para 1 ao invés de resetá-lo. Isso vai informar ao transceiver que ele está funcionando como receptor, ao invés de transmissor. O bit PWR_UP continua sendo setado em 1.

4.6. Esperar por 200us para o transmissor ser habilitado

O transceiver demora o mesmo tempo para ser inicializado no modo de recepção, portanto faça o PIC esperar pela mesma quantidade de tempo.

4.7. Esvaziar o buffer de recepção

Semelhante ao realizado no transmissor, mas agora para o receptor. Utilize o comando FLUSH_RX.

4.8. Habilite a recepção de dados

Diferente do transmissor, onde queremos que ele acesse o meio sem fio somente quando estiver transmitindo algo, o receptor precisa ficar acessando o meio o tempo todo, pois assim vai poder perceber se algum dado está sendo transmitido e assim receber esse dado. Para habilitar a recepção, mude a saída conectada ao pino CE para 1. Não precisa colocar essa saída de volta para 0 depois: queremos que o receptor sempre ativado.

5. Habilite as interrupções na porta RB2 (INT2)

As interrupções no receptor devem ser configuradas da mesma forma que o transmissor.

Isso é o suficiente para configurar o receptor. Vamos, finalmente, ao que você deve fazer para pegar no PIC o dado que o transceiver recebe pela rede sem fio.

Versão 5.3 - Todos os Direitos reservados