配置uart后会自动发送0x00 ,每次上电都会发送,请帮忙看下有什么问题,谢谢~
P3SEL0 |= BIT4 | BIT5; // USCI_A1 UART operation
P3SEL1 &= ~(BIT4 | BIT5);
UCA1CTL1 |= UCSWRST;
UCA1CTL1 = UCSSEL__ACLK;
UCA1BR0 = 3;
UCA1MCTLW |= 0x9200;
UCA1BR1 = 0;
UCA1CTLW0 |= UCPEN | UCPAR;
UCA1CTL1 &= ~UCSWRST; // release from reset
UCA1IE |= UCRXIE; // Enable USCI_A0 RX interrupt
David Bai1:
Hi Guo Yan,
单从UART配置来看,是看不出问题的。应该检查一下主函数,中断及发送函数。
你的发送函数是写在了中断服务函数里吗? 建议在线单步debug一下,看程序跑到哪里会发送0x00, 然后着重看一下那一块的程序。
Guo Yan:
回复 David Bai1:
感谢,已经单步调试,在
P3SEL0 |= BIT4 | BIT5;
这个代码的时候有0x00发送。。。
即使这句话在开全局中断之前也一样。
还请指教。
灰小子:
回复 Guo Yan:
这是正常现象,很多单片机都有这个情况的
Guo Yan:
回复 灰小子:
请问,有办法避免吗?项目需要,这个00不能发送的,谢谢。