This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

UART的波特率57600问题

Other Parts Discussed in Thread: MSP430F5510

请问,为什么MSP430F5510的两个Uart口,串行通讯时候,波特率低于19200就可以,高于就出问题。

我的外设是57600,调试时候,MCU的TX发出数据OK,MCU RX到的数据就错误。

问题出现在哪里?其它的都检查了多遍。

设MCU设计的Bug 还是软件问题?

  • USCI31 USCI Module

    Function: UART framing error after USCI software reset (UCSWRST)

    Description: While receiving a byte over USCI-UART (with UCBUSY bit set), if the application resets

    the USCI module (software reset via UCSWRST), then a framing error is reported for the

    next receiving byte.

    Workaround

    • If possible, do not reset USCI-UART during an ongoing receive operation; that is,

    when UCBUSY bit is set.

    or

    • If the application software resets the USCI module (via the UCSWRST bit) during an

    ongoing receive operation, then set and reset the UCSYNC bit before releasing the

    software USCI reset.

    可以在errordata里查出来是否有uart上的bug。

  • 请问下baudrate的时钟源是什么?怎么配置的?

    有可能是波特率发生器的配置不准确造成。F5xx的user's guide 上有常用配置和对应的误差。可以检查下。

  • dave rong,

    您好!

    您是采用一个UART口发送,另一个UART口接收的方式进行通信?

    除了Jason Guo说的波特率的问题,会不会是外围电路有问题?另外建议您用示波器测一下波形,看一下波形有没有问题,然后再查找原因