一、开发调试环境说明
硬件测试环境:stm32f407野火开发板,rs485转usb工具和rs485温湿度传感器。
电路原理图如下:
控制脚说明:
引脚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通讯作为主机时,发送完之后切换为接收模式之后,延迟时间不能太短!
全部0条评论
快来发表一下你的评论吧 !