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.

TMS320C6678中UART波特率设置问题

目前在跟着一个项目学习6678,遇到这样一个问题:

有一套老程序可以与项目的上位机进行正常通信,但是由于不符合方案要求,所以对其进行了修改,但UART部分基本是原封不动的copy过来的,

到了新程序这就不能跟上位机通信了,但是可以跟串口调试助手正常通信。

协议要求波特率为38400,即单个码片时长为26us。

用示波器显示两套程序的发送数据的单位时长,发现老程序的时长约为26us,和理论期望值接近,误差较小;但是新程序的时长为24.5us左右,与理论期望值相差较大。而且稍微改动理论波特率的值至35700之类的数值,从而实现对UART的分频寄存器DLL和DLH的数值进行修改,结果是:

两套程序的寄存器数值都发生了变化,但是老程序的波特时长发生了变化,但是新程序的时长未发生任何变化,似乎是对分频寄存器DLL和DLH的修改没起作用。。请问,该对新程序怎么修改才能改变其波特时长呢,或者是为什么无法与上位机通信呢?