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.

[参考译文] TMS320F28377D:代码运行时 SCI 波特率寄存器发生变化

Guru**** 2327500 points
Other Parts Discussed in Thread: TMS320F28377D, C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1516015/tms320f28377d-sci-baud-register-change-while-code-is-running

器件型号:TMS320F28377D
主题: C2000WARE 中讨论的其他器件

工具/软件:

您好、

我正在使用 TMS320F28377D SCI A。其中一个使用波特率设置需要更改。初始波特率设置为9600。
SciaRegs.SCIHBAUD.bit.baud = 43u;     // config9600bps
SciaRegs.SCILBAUD.bit.baud = 139U;

代码运行时、需要将此波特率更 改为 38400
所以代码更新为:

EALLOW;//允许插入                                  
SciaRegs.SCICTL1.bit.SWRESET = 0;                         
SciaRegs.SCIHBAUD.bit.baud = 2U;     //配置38400bps
SciaRegs.SCILBAUD.bit.baud = 138U;                      
SciaRegs.SCICTL1.bit.SWRESET = 1;                         
EDIS;//禁用插入   

我观察到 SCIA 寄存器更改了几秒、然后再次返回9600波特、这是 SCIA 的默认设置。
请提供帮助

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果没有有关您正在运行的代码和特定设置的更多详细信息、就很难说出导致这种情况的原因。 工程中可能有将 UART 配置为9600波特的代码会被调用并覆盖您的设置。 F28377D 也是一款双核器件、其中的每个 C28x CPU 都可以访问 SCIA 模块。 如果两个 CPU 上都运行代码、它们可能会相互覆盖。

    我建议您从 C2000ware SCI 示例开始、排除任何软件问题。