首页 > 热点

单片机串口模块调试方法

城市网 2023-07-28 16:17:07


(相关资料图)

技巧一:

笔者在调试某Cortex-M3内核单片机时遇到一个问题,此单片机不具备在线仿真功能,因此调试代码时只能使用UART输出Log的方式调试。调试过程中发现串口模块会影响单片机启动,进入死机状态,没有任何响应。

取下串口模块,然后给单片机加电可以正常启动,看来是串口模块引入了某种干扰。使用排除法,依次拔掉TX、RX,发现RX不会导致死机,拔下TX时可以正常启动,插上TX启动失败(TX和RX指的串口模块)。如果先给单片机供电,然后插入串口TX则正常运行。思来想去,应该是串口模块的TX驱动能力较强,当单片机没有供电时,串口模块的TX给单片机提供了部分电力,这部分电力不能使单片机正常工作,但是使他进入某异常状态,此时即使给单片机加电也不能正常工作。UART的TX在没有数据传输的时候输出高电平,有一定的驱动能力,有时候不可小觑。

为了解决此问题增加一个二极管,预留一个上拉电阻,如下图所示:

当串口模块的TX输出0时,二极管导通,二极管正极被拉低,也就是单片机的RX拉低,单片机收到0。当串口模块的TX输出1时,二极管截止,单片机的RX被内部上拉电阻拉高,二极管正极最好预留一个上拉电阻。二极管最好选择正向压降小,开关速度快的肖特基二极管。

技巧二:

我司某款产品使用串口进行芯片间通讯,通讯协议采用一问一答的方式,即双方不会同时发出数据。我们在调试某项功能时需要监听记录串口数据包,然后通过数据包分析问题,通常情况使用两个串口模块分别监听TX和RX,可是这次数据量有点大,使用两个串口模块截取数据,组合到一起很困难,于是乎设计了以下小电路,使两条串口线的数据转移到一条线上去,然后使用串口模块接收。两个二极管相当于一个“与门”,预留一个上拉电阻。

这种方式只适合一问一答的通讯方式,即双方不会同时发出数据,如果双方同时发出数据,接收就会混乱。

上一篇 下一篇
热文推荐 更多

单片机串口模块调试方法

2023-07-28

浪潮云海通过首批行业“一云多芯”标准最高级别认证

2023-07-28

亚世光电:公司产品应用于VR产品上的订单完成过多次出货

2023-07-28

54.64万亿元!上半年全国涉农贷款余额同比增长16%

2023-07-28

霍学文:银行要想在竞争中突围,就要努力为客户提供差异化、特色化的金融服务

2023-07-28

沃森生物

2023-07-28

聚酯纤维床垫的利弊(聚酯纤维床垫有甲醛吗)

2023-07-28

青岛发布现代水网建设规划,311个项目总投资1436亿

2023-07-28

RNDC和Riboli Family Wines宣布建立全国合作伙伴关系

2023-07-28

电子元件的保质期如何影响电子设备的性能

2023-07-28

图片报:格雷茨卡出场顺位可能低于莱默尔,报价合适拜仁愿意谈判

2023-07-28

惠州严阵以待全力防御台风“杜苏芮”

2023-07-28

金太阳7月28日快速反弹

2023-07-28

特斯拉被曝成立秘密团队,压制夸大续航里程相关投诉

2023-07-28

深夜重磅!住建部:进一步落实好降低首套住房首付比例和贷款利率、个人住房贷款“认房不用认贷”、改善性住房换购税费减免等政策措施

2023-07-28

赛罗奥特曼故事文字版(赛罗奥特曼文字故事)

2023-07-28

xxxholic 恐怖吗_xxxholic 春梦记

2023-07-28

低位增配权益 公募FOF“腾笼换鸟”布局后市

2023-07-28

ip超出限制意思(ip受限什么意思)

2023-07-28

一千零一夜祝福语(一千零一夜电视剧祝绪丹在酒店第几集)

2023-07-28