现在用到MSP430F437的UART( 全双工,波特率 9600),发现有误码现象。比如程序中发送的是“AA”时,但是实际监控到的数据是“AC“。
外部晶振 32.768K
相关配置如下:
FLL_CTL0 |= XCAP18PF;
UCTL0 |= SWRST; //U0CTL&=~SWRST;
UCTL0 = 0X10;
UBR00 = 0x03; // 32K,9600BPS
UBR10 = 0x00;
UMCTL0 = 0x4A; // No modulation
UTCTL0 = 0X10; //选中32K作为时钟源
U0CTL &=~ SWRST;
ME1 |= URXE0+UTXE0 ; // 使能 USART0 RXD,TXD
IE1 |= URXIE0+UTXIE0; // Ena××e USART0 RX interrupt
IFG1 &=~ URXIFG0 ;
IFG1 &=~ UTXIFG0 ;
不知各位大侠有无解决方法?
我查看了用户手册,LZ的参数设置都为推荐值。
这种无码的情况出现的概率高不高呢?
MSP430接收出问题的话,可能是跟发送端波特率匹配不太好,可能主要是发送端发送波特率不准确