打印
[STM32F1]

STM32串口使用注意事项

[复制链接]
712|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
linkarm|  楼主 | 2017-8-13 14:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
实际产品设计时碰到问题,并总结出来的经验,分享给大家。

STM32串口使用注意事项.png (111.02 KB )

STM32串口使用注意事项.png
沙发
zchong| | 2017-8-13 18:15 | 只看该作者
第一条挺有道理,浮空的话容易受到干扰,推荐初始化为上拉;
第二条的话,应该加强通信协议的的设计,增强容错功能。

使用特权

评论回复
板凳
戈卫东| | 2017-8-13 18:33 | 只看该作者
TXD RXD是连接TRANSCEIVER的,浮空还是上拉应该是一样的

使用特权

评论回复
地板
linkarm|  楼主 | 2017-8-14 12:23 | 只看该作者
戈卫东 发表于 2017-8-13 18:33
TXD RXD是连接TRANSCEIVER的,浮空还是上拉应该是一样的

UART经常用作板间通信,直接使用CMOS电平,相当于RXD直接暴露在外部电路中。此时浮空输入和上拉输入,效果的区别还是比较明显的。
这种问题导致的现象,是RXD上接收到异常数据,甚至是大量数据接收中断导致拖死MCU。
而这种问题发生的条件和时机,可能低概率,可能是量产过后,可能是客户现场才能偶然出现。

既然我们已经踩过这样的坑,总结出这样的经验,在此分享是希望大家不要重蹈覆辙。

使用特权

评论回复
5
gam169| | 2017-8-14 14:13 | 只看该作者
觉得可以通过等待判断UART空闲后才去收发。不知道有没空闲这个寄存器标志位?

使用特权

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

本版积分规则

4

主题

18

帖子

0

粉丝