RS485通讯-调试记录

文章描述了一次在STM32F407开发板上进行RS485通讯调试的经历,遇到的问题包括发送失败和传感器通讯异常。通过检查控制引脚状态、更换转换工具以及调整发送后的接收延迟时间,最终解决了通讯问题,强调了延迟时间对RS485主机通讯的重要性。

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

一、开发调试环境说明

硬件测试环境:stm32f407野火开发板,rs485转usb工具和rs485温湿度传感器。

电路原理图如下:

9a2a45262ab5ddbb894ea964ffe5d8da.png

96148499a5d32962427e77e18e02b9e5.png

控制脚说明:

引脚PC0作为控制端,PC0引脚电压为高,发送使能;PC0引脚电压为低,接收使能。

二、问题说明

将测试程序下载到开发板,rs485不能正常通讯,有如下问题

1、使用rs485转usb进行测试,发现开发板能接收,不能发送。

排查问题过程如下:

①使用万用表测试控制引脚PC0,查看发送过程中的电压是否为高电平,测试电压正常;

②使用usb转ttl工具,直接和单片机的发送引脚连接,通过串口助手接收,发现串口助手能正常接收到数据;

③更换usb转rs485工具,(先确定更换的usb转rs485工具是正常的),更换后测试rs485可以正常发送接收。确定是usb转485工具的问题。

2、开发板和rs485传感器通讯不正常,rs485传感器有接收无发送。

实际测试中发现开发板和rs485传感器通讯不正常,rs485传感器有接收无发送。(单片机正常发送,但是没有接收)。

解决问题思路:

发送完之后控制引脚切换为接收使能后,需要增加延迟时间。原先延迟时间短,测试usb转rs485工具可以正常收发。实际rs485传感器通信测试则失败,增加延迟时间后,则可以正常通讯。

三、总结

rs485通讯作为主机时,发送完之后切换为接收模式之后,延迟时间不能太短!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值