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

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

Código do transmissor - pt.4

Mas agora imagine como seria difícil ter que decorar todos os endereços de todos os registradores do transceiver que você quer utilizar. Ainda bem que temos uma alternativa pra isso: o arquivo nRF24L01.h define também os endereços de todos os registradores do transceiver. O que você precisa fazer é utilizar o nome do comando de escrita ou leitura fazendo um OU binário com o endereço que você quer ler ou escrever. Ou seja, para escrever 15 no registrador RF_CH podemos alterar o código anterior para:

Esse código é bem mais fácil de entender e programar. Uma leitura no mesmo registrador ficaria mais ou menos assim:

E o valor do registrador ficaria armazenado na variável dado. Observe o uso do comando “|” (barra vertical) que em C significa a operação “OU-binário”.

Agora, vamos a uma última observação sobre as operações de escrita nos registradores. Muitas vezes você vai querer apenas setar um bit específico de um registrador ou alguns bits específicos. Assim como acontece no PIC, cada bit de um registrador do transceiver tem funções especificas, e o arquivo nRF24L01.h armazena as posições que os bits ocupam nos seus registradores através dos nomes nos bits.

Observe que isso é diferente do acesso aos bits de um registrador do PIC. No caso do transceiver, você sabe apenas qual a posição que um determinado bit ocupa em um registrador, e não qual é o registrador que contém esse bit. É como se nós soubéssemos que o bit RA1 pertence ao registrador PORTA, mas o compilador não soubesse, portanto não poderíamos alterar o valor do bit usando PORTAbits.RBA = 1. Teríamos que utilizar outra estratégia.

Versão 5.3 - Todos os Direitos reservados