RS485导致产品工作不正常问题记录

本文深入探讨了RS485通信中因AB线电压差引起的设备启动问题,分析了逻辑高低电平对串口收发的影响,及未正确设置上下拉电阻导致的程序异常与CPU高负载现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RS485问题记录

背景介绍

遇到设备不能正常启动的问题,只有打开串口后设备才可以正常工作,最后终于定位到问题点:
RS485芯片不工作时AB线间电压差代表的默认应该是逻辑高(异步串行通信(UART)的起始位是低电平,结束位是高电平),如果是低(A低B高差值大于一定范围)那么就会导致串口一直在收数,如果程序里没有针对接收字长的限制就有可能导致接收缓存数组buf越界,导致程序跑飞。而正常运行后也会导致cpu占用率过高(一直在接收数据),影响产品的性能。
所以硬件上485A、B一定要做好上下拉。
在自己的硬件有上下拉的情况下也有可能被连接的485设备将电平拉错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值