1
Comunicação serial do MSP430 via xBee Projeto de pesquisa do grupo PET Mecatrônica/BSI INTRODUÇÃO 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. Orientadora: Eugênia Giancoli Jabour Bolsistas: Érica Julião Alvim, Frederico José Dias Möller, Lucas do Prado Pissolati REFERÊNCIA BIBLIOGRÁFICA http://www.cplusplus.com/ reference/cstdlib/itoa/ http://processors.wiki.ti.c om/index.ph p/Tips_for_using_printf http://stackoverflow.com/ Função itoa(): 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.

Comunicação serial do MSP430 via xBee Projeto de pesquisa do grupo PET Mecatrônica/BSI

  • Upload
    feo

  • View
    37

  • Download
    1

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Comunicação serial do MSP430 via xBee Projeto de pesquisa do grupo PET Mecatrônica/BSI

Comunicação serial do MSP430 via xBeeProjeto de pesquisa do grupo PET Mecatrônica/BSI

INTRODUÇÃO 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.

  

Orientadora: Eugênia Giancoli JabourBolsistas: Érica Julião Alvim, Frederico José Dias Möller, Lucas do Prado Pissolati

REFERÊNCIA BIBLIOGRÁFICAhttp://www.cplusplus.com/ reference/cstdlib/itoa/http://processors.wiki.ti.com/index.ph p/Tips_for_using_printfhttp://stackoverflow.com/

Função itoa(): 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.