terça-feira, 16 de agosto de 2016

Envio de Dados XBee com PIC C18

Bem pessoal, estou num projeto de iniciação científica e tive muita dificuldade para desenvolver um método de transmissão de dados utilizando o transceiver XBee S2 no modo API juntamente com o microcontrolador PIC18F2620 com o compilador C18 na IDE MPLAB, por isto apresentarei como proseguir.


HARDWARE:
- Observando que a tensão de alimentação do XBee é 3.3V, a tensão de saída do pino TX deve se manter no intervalo entre 0V e 3.3V. Por isto se seu controlador estiver sendo alimentado com 5V se faz necessária a implementação de um regulador simples de tensão para que o pino TX do PIC opere nesta faixa.

SOFTWARE:
- Quando trabalhamos com o XBee em modo API devemos levar em consideração o formato do pacote de dados:

1. Delimitador do início do pacote
2. Comprimento da mensagem
3. Tipo do pacote
4. ID do pacote
5. Endereço 64bits do destino
6. Endereço 16bits do destino
7. Byte de broadcast
8. Byte de opções
9. Mensagem que será enviada
10. Checksum

Como é possível observar, teremos que trabalhar com BYTES, e construir o pacote de acordo com a ordem descrita acima, sempre observando se a USART está ocupada. O cálculo do Checksum é feito com a soma de todos os bytes a partir da terceira parte e após esta soma pegamos o byte menos significativo

1. Delimitador do início do pacote






2. Comprimento da mensagem








3. Tipo do pacote







4. ID do pacote









5. Endereço 64bits do destino









6. Endereço 16bits do destino









7. Byte de broadcast







8. Byte de opções









9. Mensagem que será enviada









10. Checksum






O download do código pode ser feito pelo link: sendData download