Comunicação serial do MSP430 via xBee
Projeto de pesquisa do grupo PET Mecatrônica/BSI
Orientadora: Eugênia Giancoli Jabour
Bolsistas: Érica Julião Alvim, Frederico José Dias Möller, Lucas do Prado Pissolati
INTRODUÇÃO
Função itoa():
A comunicação serial do MSP430 pode
ser feita usando as portas 1.1 e 1.2 no
modo UART (universal asynchronous
receiver/transmiter), os dados a serem
transmitidos são antes gravados na
variável, tipo char, de buffer UCA0TXBUF
e os recebido são armazenados na
variável UCA0RXBUF. Tendo essas
variáveis o limite de um byte, a
transmissão de dados de sensores, em
geral valores inteiros ou de ponto
flutuante (quatro bytes) precisa de
algumas adaptações. Além disso, ao
trabalhar
usando
o
módulo
de
transmissão sem fio xBee integrado ao
MSP430, os primeiros bytes de cada
transmissão é perdido.
Enquanto um valor char tem o
tamanho de um byte, um valor inteiro, ou
de ponto flutuante tem quatro. Isso é um
problema quando se quer transmitir
dados de sensores e esses dados devem
ser
transmitidos
por
char.
Implementamos a função itoa() de modo
a converter cada dígito de um valor
inteiro em um char e armazená-lo em
uma string. A intenção é que valores
inteiros
possam
ser
transmitidos
diretamente para um programa de
terminal, que converte diretamente cada
valor recebido para o seu respectivo
símbolo na tabela ASCII
FUNÇÃO println():
Para transmitir uma série de dados de
uma vez, ao invés de transmitir char a
char no escopo principal do programa,
implementamos uma função println, (em
alusão a função de mesmo nome do
Arduíno), que recebe uma string
qualquer, transmite todos os seus bytes e
depois envia o char “13”, indicando o fim
da linha. Dentro dessa função, antes de
começar a transmissão dos dados,
implementamos uma espera ocupada, de
modo a evitar que os primeiros bytes da
transmissão fossem perdidos. Essa
espera se constitui de um ciclo while,
com o contador variando de 0 à 2788,
com o processador operando a 1mhz.
Função decompor():
Outra forma de transmitir valores int ou
float é dividir seus quatros bytes e formar
assim uma string com eles. O receptor
deve ter uma função que reagrupe esse
bytes e retorne o valor enviado.
REFERÊNCIA BIBLIOGRÁFICA
http://www.cplusplus.com/
reference/cstdlib/itoa/
http://processors.wiki.ti.com/index.ph
p/Tips_for_using_printf
http://stackoverflow.com/
Download

Comunicação serial do MSP430 via xBee