[资源共享] STM32F407__串口转422总线__一主多从通信

[复制链接]
1554|14
 楼主| 键盘手没手 发表于 2022-2-28 15:57 | 显示全部楼层 |阅读模式
本帖最后由 芯圣电子官方QQ 于 2023-7-20 10:48 编辑

从机的422原理图如下所示:
58414621c8049a59ea.png
 楼主| 键盘手没手 发表于 2022-2-28 15:57 | 显示全部楼层
主机的422原理图:
64676621c807704107.png
 楼主| 键盘手没手 发表于 2022-2-28 15:58 | 显示全部楼层
一、通信大体原理      

       在通信过程中,主机向总线上发送数据,从机都能从总线上接收到数据,根据设置的地址,选在是否是本板需要的数据而进行保存,利用。保存了数据的从机需要向主机回复一个收到信息的报文;
 楼主| 键盘手没手 发表于 2022-2-28 15:59 | 显示全部楼层
二、通信中遇到的问题      

    1、  在实际的项目中,主机向从机发送数据包,指定的从机能够接收到该数据包,并保存,板子做相应的动作,然而,问题出现了:从机在接收到数据后,并没有回复 一个收到信息的确定报文,所有的从机都是这样。
 楼主| 键盘手没手 发表于 2022-2-28 16:00 | 显示全部楼层
      2、在解决了上诉的问题后,从机有回复主机数据,但每次回复的数有缺,不是完整的主机想要的数据。
 楼主| 键盘手没手 发表于 2022-2-28 16:04 | 显示全部楼层
三、问题解决的方法

   1、自己项目中第一个问题产生的原因,是因为我在使能DE脚后,并没有给它关掉,使得该从机一直处于发送驱动状态,将总线的发送线拉高,使得所有的从机不能发送数据,在代码中,每次发送完数据后都要恢复到默认接收状态,将发送驱动状态关闭掉,恢复总线空闲。
 楼主| 键盘手没手 发表于 2022-2-28 16:06 | 显示全部楼层
2、在发送数据的之前,会拉高DE脚,使能422的发送,拉高DE脚后需要延时一段时间,使得该脚拉高稳定后再开始发送数据,且在恢复发送总线空闲时也要先延时一段时间,不然会有一定的数据发送有异常。
tpgf 发表于 2022-3-3 08:10 | 显示全部楼层
我理解的422应该用8条线吧
观海 发表于 2022-3-3 08:19 | 显示全部楼层
先去了解一下这种通讯吧
guanjiaer 发表于 2022-3-3 08:26 | 显示全部楼层
需要外接芯片吗
heimaojingzhang 发表于 2022-3-3 08:38 | 显示全部楼层
使能之后需要关掉吗
keaibukelian 发表于 2022-3-3 08:44 | 显示全部楼层
外围电路并不复杂啊
labasi 发表于 2022-3-3 08:54 | 显示全部楼层
第二个问题不好解决
七毛钱 发表于 2022-3-3 10:23 | 显示全部楼层
楼主是不是应该发在ST版块
515192147 发表于 2023-12-27 17:07 | 显示全部楼层
cnw04.JPG
cnw05.JPG
一主多从 通信建议用 CAN通信!!!!!!!
CAN节点价格与RS485类似,但驱动节点的数量、
通信速度、距离、可靠性大大加强,
并可Web监控调试节点,CANWeb总线为双绞线串接通信,
布线、接口成本低,总线可选冗余
详细资料见:CAN通信的高层协议CANWeb源程序及介绍
https://bbs.21ic.com/icview-3335470-1-1.html?fromuser=515192147

您需要登录后才可以回帖 登录 | 注册

本版积分规则

104

主题

1260

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部