HII、
目前、我在 项目中使用 MCAL_AM263x_08.06.02版本包。
我将 Uart1配置为轮询模式115200波特率。 UART 传输按预期工作。
对于 receive,我收到溢出错误. 超时计数器配置为20000。 要选择的超时值是基于什么?
如何解决此问题?
附加了代码片段、供您参考

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.
HII、
目前、我在 项目中使用 MCAL_AM263x_08.06.02版本包。
我将 Uart1配置为轮询模式115200波特率。 UART 传输按预期工作。
对于 receive,我收到溢出错误. 超时计数器配置为20000。 要选择的超时值是基于什么?
如何解决此问题?
附加了代码片段、供您参考

感谢您试用该软件并恢复了解详细信息。
我看到您的代码片段首先尝试使用 UART1实例发送缓冲区、然后 在轮询模式下等待读取字符、但 使用 的字长与 buffer_size 宏指定的相同(可能在发送和接收之间共享)。 请 确保 读取的字节数是否正确、还应确保串行终端配置参数、即波特率、奇偶校验、停止位、数据大小、 其余任意值与配置器插件中 UART 实例的配置集完全匹配。 通常、当配置与波特率不匹配时 、或者任何可能导致溢出的数据包参数都会在接收期间引发溢出错误、因为对该数据包的读取肯定会失败。
对于超时值、需要根据系统时钟节拍持续时间进行相应设置、您可以为其使用合适的值、该值仅在轮询模式下在读取/写入 API 中内部用于数据传输。
请确保是否正确设置了其余的可配置参数、如果问题仍然存在、请在下方进行注释。
希望它有所帮助。
谢谢。
Harshit
您好!
很好的一点是、您能够通过修改存根来识别和解决它。
此外、行46、51和54中使用的基于 Mcal_Cachep 的 API 适用于缓存一致性、并且仅对于 DMA 模式数据传输是必需的、因此对于轮询模式的应用、可以随意丢弃这些 API。
在传输被触发后、进入接收状态之前、传输是否未完成(在传输完成的情况下、您应该能够完全看到写入终端上的启动消息)? 理想情况下,`Write ()` API 应在轮询模式下返回之前完成数据传输,如果出现偏差,请进行更新,让我们进一步检查。
感谢分辨率的更新。
-Harshit