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

arrow_back Aula 09 - Transmissão de dados através do protocolo SPI

Ok, Funcionou! E Agora?

Tudo certo? Terminamos a experiência? Ainda não. Até aqui, configuramos o PIC acessando os seus registradores e ajustando seus bits, ou seja, sempre escrevendo diretamente nos registradores que desejávamos alterar. Pois bem, essa é uma das maneiras de fazer isso. Existe uma maneira mais fácil: utilizando as funções disponíveis por alguma biblioteca, como, por exemplo, a disponível com o compilador C18. Por exemplo, podemos configurar o módulo SPI por meio da função “OpenSPI”, passando os parâmetros desejados a essa função. Podemos escrever algo utilizando a função “WriteSPI”, ou ler de um dado de um escravo utilizando “ReadSPI”. Para poder utilizar essas funções, adicione o arquivo “spi.h” nos cabeçalhos dos seus projetos no MPLAB para o mestre e o escravo, e adicione a linha #include “spi.h” nos cabeçalhos, sendo incluídos nos seus arquivos “main_mestre.c” e “main_escravo.c”.

Apesar de essas funções facilitarem a criação e a leitura do código, é importante que você saiba como fazer a mesma coisa sem utilizá-las. Assim, caso algum problema aconteça, você vai saber analisar corretamente o erro e descobrir como corrigi-lo, esteja você utilizando essas funções auxiliares ou não. Tente, agora, modificar os códigos do mestre e escravo para utilizar as funções “OpenSPI” e “WriteSPI”. Consulte a lista de funções da biblioteca do C18 para saber quais parâmetros passar para essas funções, e como configurar corretamente seus PICs.

Atenção

A função “ReadSPI” não deve ser utilizada para fazer a leitura de um dado no escravo. A forma correta de fazer é copiar diretamente o valor do buffer para uma variável. Essa função deve ser utilizada para um dispositivo mestre ler um dado de um escravo. Como o SPI funciona por troca de mensagens, o mestre tem que enviar um dado qualquer para poder receber um dado do escravo, e essa função implementa, exatamente, esse tipo de rotina, evitando que você tenha que implementar tudo isso.

Se você estiver muito curioso em saber como essas funções funcionam, pode ver o código delas nos arquivos “spi_writ.c”, “spi_open.c” e “spi_read.c”. Eles ficam, normalmente, em uma pasta dentro da pasta de instalação do C18, normalmente, “.../src/pmc_common/SPI/”. Na próxima aula, vamos ver como utilizar o protocolo SPI para se comunicar com dispositivos de transmissão e recepção por RF e, então, vamos ver como realizar a transmissão de dados por rádio frequência por meio deles.

Versão 5.3 - Todos os Direitos reservados