在串口通信中,TI例程上的程序是进入休眠状态,一旦接受数据,中断执行命令,但是现在在程序运行过程中,现在想要接收的数据与规定的数据进行比较。但是数据还没有接收,直接就进行比较了。郁闷,求助一下。。谢谢了
例程
程序------》休眠-------》中断接收数据------》存放到数组中
现在目的
程序------》等待接收的数据--------》接收数据完毕--------》比较
但是实际上
程序------》直接比较-------》继续 数组中的数据完全就是程序初始化的。
此帖出自
小平头技术问答
void main(void)
{
int con=1;
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog
P3SEL = 0x30; // P3.3,4 = USART0 TXD/RXD
ME1 |= UTXE0 + URXE0; // Enabled USART0 TXD/RXD
UCTL0 |= CHAR; // 8-bit character, SWRST=1
UTCTL0 |= SSEL0; // UCLK = ACLK
UBR00 = 0x03; // 9600 from 1Mhz
UBR10 = 0x00; //
UMCTL0 = 0x4A; // Modulation
UCTL0 &= ~SWRST; // Initialize USART state machine
IE1 |= URXIE0;// + UTXIE0;
// _BIS_SR(LPM3_bits + GIE); //源程序
/*****修改后的程序******/
_EINT();
while(1)
{
}
}
这是主程序,程序没有进入过中断,TI的例程就没问题,主程序不知道该怎么写。。
一周热门 更多>