返回信息流我用430和电脑通过串口通信,在PC上用串口调试助手给430发七个字节,然后再由430传回给PC显示在串口调试助手上(已经测试过由430向PC发数据是没有问题的),可以看到当波特率高于9600时就会丢几个字节,由于对端芯片要求38400的波特率,有什么办法可以达到这个标准呢?
程序:
void HAL_UART_UART0Init(void)
{
U0CTL = 0x01;
U0CTL += CHAR; //发送只有1位停止位,发送数据为8位
U0TCTL = 0x00;
U0TCTL += SSEL1; //波特率发生器选择SMCLK,8M晶振8分频为1M
UBR0_0 = 0x26; //1M/38400=26.39,波特率为38400
UBR1_0 = 0x00;
UMCTL_0 = 0x4A;
U0CTL &= ~SWRST; //
ME1 |= URXE0 +UTXE0; //使能UART0的TXD和RXD
IE1 |= URXIE0; //使能UART0的RX中断
IE1 |= UTXIE0; //使能UART0的TX中断
P3SEL |= BIT4 +BIT5; //设置P3.4和P3.5为UART
P3DIR |= BIT4; //P3.4为输出管脚
}
串口中断:
#pragma vector = UART0RX_VECTOR
__interrupt void UART0_RX_ISR(void)
{
BYTE bData;
bData = RXBUF0; // Read the received data
test2[ii++] = bData;
if(ii==7){ii = 0;}
}
main里就是隔几秒循环输出test2里的值,求高手指点怎样可以使波特率达到38400,还是我的设置有什么问题?
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #12128同步于 2012/4/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
msp430F149 波特率可以达到38400吗?
wangzhezq
2012/4/27镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复