您好!
我在 F28062上看到了这个问题。
请参阅图片。 我已经收集了一些 SCI A 相关寄存器的值、我正在尝试实现一个半双工485系统。
这是从机软件、因此它主要接收消息。 收到消息后、我希望在通过 Tx 线路传输响应之前关闭 Rx。
从 pdf 中可以看出、我将 SCICTL1A 寄存器从35设置为34。 35 = 0x23 (位0是 RXENA、所以在这里它是打开的)。 34 = 0x22 (这里 RXENA 关闭)。
但是、当 SCICTL1A 设置为34时、状态寄存器(SCIRXST)会更新以显示错误。 寄存器值从2变为178 (0x02变为0xB2)。
RMS320x2806x 控制器的技术参考手册读出、当 RXENA=0时、它"防止接收到的字符传输到 SCIRXEMU 和 SCIRXBUF 接收器缓冲器"。 它还指示 SCIRXST 寄存器"每次将一个完整的字符传输到接收器缓冲区(SCIRXEMU 和 SCIRXBUF)时、状态标志都会更新"。
这是固件中的错误吗?
这是我的代码中的错误吗? 如果我没有正确关闭 SCI Rx、请帮助我了解关闭 Rx 还需要做些什么、以便不会将错误写入状态寄存器。
注:我尝试插入图片和文件以说明我找到的内容。 我无法查看我是否在该帖子的预览中成功上传了我的图片。 如果图片未显示、我将尝试将其附加到响应。
谢谢!