bettyxyz1028
Newbie level 6
I followed the sample code from the TI.
The ez430-rf2500 target board receives an external signal from a heart rate board(MSP430fg439). I first pass the value of UCA0RXBUF to UCA0TXBUF for testing. I observe the signal from P3.4(Tx) pin by using oscilloscope. It is square wave and it is correct. Then I try to pass the value to a declared variable "aNumber" and try to display this signal on the GUI (I hav alrdy set the location for extra number and the preset 2-digit number can be seen on the GUI).
But now my AP can not detect the End Device. Every time i plug in the ED, the AP stops blinking. But after a while it continues blinking without showing the ED. And when i press the pushbutton on the ED, the red LED on the ED lights.
Im expecting the ED to blink green LED a few seconds once (as the DEMO) and the GUI to show the signal from heart rate board.
Im thinking that the problem could be the extracting part. From the buffer, i hav an 8-digit data with 1 start bit and 1 stop bit (is it? I count the sqares). I guess that i may need to extract the 8-digit data from the buffer. Is it? How to extract? If this is not the problem. How can i fix?
Here is my code. I only show the added parts in Main and interrupt routine.
Main()
{
P3SEL = 0x30; // P3.4,5 = USCI_A0 TXD/RXD
P3DIR = 0xFF; // All P3.x outputs
P3OUT = 0; // All P3.x reset
//Initialize Rx
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 8; // 1MHz 115200
UCA0BR1 = 0; // 1MHz 115200
UCA0MCTL = UCBRS_6; // Modulation UCBRSx = 6
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
//UCA0TXBUF = UCA0RXBUF; // I test the signal from P3.4
aNumber = UCA0RXBUF;
}
Anybody can help???? Tks in advance
The ez430-rf2500 target board receives an external signal from a heart rate board(MSP430fg439). I first pass the value of UCA0RXBUF to UCA0TXBUF for testing. I observe the signal from P3.4(Tx) pin by using oscilloscope. It is square wave and it is correct. Then I try to pass the value to a declared variable "aNumber" and try to display this signal on the GUI (I hav alrdy set the location for extra number and the preset 2-digit number can be seen on the GUI).
But now my AP can not detect the End Device. Every time i plug in the ED, the AP stops blinking. But after a while it continues blinking without showing the ED. And when i press the pushbutton on the ED, the red LED on the ED lights.
Im expecting the ED to blink green LED a few seconds once (as the DEMO) and the GUI to show the signal from heart rate board.
Im thinking that the problem could be the extracting part. From the buffer, i hav an 8-digit data with 1 start bit and 1 stop bit (is it? I count the sqares). I guess that i may need to extract the 8-digit data from the buffer. Is it? How to extract? If this is not the problem. How can i fix?
Here is my code. I only show the added parts in Main and interrupt routine.
Main()
{
P3SEL = 0x30; // P3.4,5 = USCI_A0 TXD/RXD
P3DIR = 0xFF; // All P3.x outputs
P3OUT = 0; // All P3.x reset
//Initialize Rx
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 8; // 1MHz 115200
UCA0BR1 = 0; // 1MHz 115200
UCA0MCTL = UCBRS_6; // Modulation UCBRSx = 6
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
//UCA0TXBUF = UCA0RXBUF; // I test the signal from P3.4
aNumber = UCA0RXBUF;
}
Anybody can help???? Tks in advance