完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
亲爱的夫人,先生,
我正在使用带有 STM32 的 Riverdi 探索板。我正在开发一个串行协议,我正在为其使用中断接收。
|
|
相关推荐
1个回答
|
|
当您执行第二次接收(失败的接收)时,您可以检查 UART 实例的 ISR(或 SR 寄存器,取决于您使用的 STM32 系列)。可能寄存器中已经存在一些错误,导致无法正确处理接收。我在考虑 Overrun 标志(表示收到了一些数据但没有及时从 RDR 读取)。如果在第一次接收完成后接收到附加数据,则可能会发生这种情况。当这个标志被设置时(一些数据已经丢失),但是在错误被清除的情况下接收被冻结。
如果您的情况发生这种情况,您可以在重新启动第二次接收之前通过重置 ICR(或 CR 寄存器)中的标志来清除标志,例如使用专用宏: __HAL_UART_CLEAR_FLAG(__HANDLE__, __FLAG__) 以 UART_CLEAR_OREF 作为标志。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2623 浏览 1 评论
3206 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1779 浏览 1 评论
3605 浏览 6 评论
5984 浏览 21 评论
936浏览 4评论
1311浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
579浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1299浏览 3评论
1354浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 03:26 , Processed in 0.881492 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号