器件型号:TMS570LS0432
我有一个设计、它以1MBd (无字节间隙)持续输出串行数据、使用低优先级中断发送数据、完成后重新加载消息。 我可以在 Launchxl-TMS570004的 UART 调试端口上看到这一点。
我可以发送单个返回字节、这些字节通过高优先级中断处理、而不会明显影响输出流。
但是、如果我使用 TeraTerm 宏发送一个字节块、则输出流必须以某种方式损坏、尽管示波器视图看起来没有不同。 如果损坏、TeraTerm 上的调试输出会重复出现垃圾。 我必须假定一个或多个字节、其开始和单个停止周期已中断、因此终端无法恢复同步。
无论是刚上电还是在 CCS7的控制下、都会发生这种情况。
我本以为 UART 硬件应该完全独立于软件功能、只要 在发送数据缓冲寄存器(SCITD)加载了新数据后提供其10周期输出即可。 我不会故意写入任何控制寄存器以复位或更改 SCI 的波特率。
此外、如果处于调试模式、当单步执行 scilinREG->TD =(uint32)(txdata)时、指令我会看到 UART 数据、但不会得到任何结果。 我已清除“属性”>“调试”>“程序/内存加载”选项卡中的“禁用中断”的所有选项。 我确信我已经看到了一些需要设置/清除的东西、以便 SCI 在调试期间正常工作、但我认为这是以上内容...
谢谢