请教大神,在使用MSP430F4152调试串口,用串口调试助手发送数据,小于127的数据收发都正常,但数据大于127收发就会出错,不知道是什么原因?数据位设置是8位。串口设置程序如下,请求指教,是设置的不对吗?????
/* ——— Board HAL UART Initialization ——– */
void HW_UART_INIT(){ UCA0CTL1 |= UCSWRST; P6SEL |= (BIT5 + BIT6); /* P6.5,6 = USCI_A0 RXD TXD */ P6DIR |= BIT6; /* P6.6 Tx */ P6DIR &= ~(BIT5); /* P6.5 Rx */ UCA0CTL0 = 0; /* no parity, 8bit, 1stop, lSb first,uart */ UCA0CTL1 |= UCSSEL_2; /* BRCLK=SMCLK = 8MHz */ UCA0BR0 = 52; /* 8MHz/9600 = ~833.3 = 0x0341 0x0052 */ UCA0BR1 = 0; UCA0MCTL =UCOS16; /* Modulation UCBRSx = 2 UCOS16*/ UCA0CTL1 &= ~UCSWRST; /* Initialize USCI state machine */}
gaoyang9992006:
据我所知,ASCII码表最大只有127,而你输出的数据应该是非ASCII编码的,所以超过127就显示错误了,你可以把数据作为ASCII格式发送就不会出问题了。
比如发送的内容都作为字符发送,肯定就不会错了。跟你初始化这个串口无关。
HG:
明显最高位不对嘛
Isaiha:
回复 HG:
那应该怎么改呢?