串口RX IO 不外接通行浮空时候,容易死机

[复制链接]
555|1
手机看帖
扫描二维码
随时随地手机跟帖
aimie|  楼主 | 2022-11-8 15:41 | 显示全部楼层 |阅读模式
本帖最后由 aimie 于 2022-11-8 15:44 编辑

xx27cV.jpg 如题,用手触摸主板,单片机就容易死机。。我不知道这算不算是BUG,在用其他品牌单片机的时候没有遇到这样的情况。把串口初始化代码去掉,触摸主板不会死机。。(所以设计的时候应该是需要增加ESD保护电路)
第一次使用这款单片机,希望越来越好,难得1块内的M0。后续有项目也会更多采用。
xx27cV.png
xx27cV.jpg

使用特权

评论回复
ifxz0123| | 2022-11-9 14:35 | 显示全部楼层
RX引脚建议使能内部上拉可用来防止RX悬空时把外部干扰信号当做数据接收。你碰到的“死机”问题应该就是RX悬空时,由于外部干扰信号导致串口产生了溢出中断,在中断函数里清掉ORE标志位,另一种方法是关闭USART的OVRDIS(溢出检测禁止,这个功能默认是开启)功能。当串口上一个数据未即使读走,又接收到新的数据时,就会触发着进而进入USART中断,如果不清掉对应的标志位退出中断后又会再次进入中断,最后就是不停的进中断。更多信息请阅读用户手册USART寄存CR3的OVRDIS位和ISR寄存器的ORE位描述。
CR2寄存器的OVRDIS描述:
20221109143414.png
ISR寄存器的ORE位描述:
20221109143330.png




使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则