串口多台从设备与一台主设备的通信问题

2019-10-14 16:21发布

在主设备与从设备的串口通信过程中,我的主设备获取到了从设备的ID与数据。分别存入我定义的SB结构体中
struct SB
{
u8 data[20];
u8 id[20];
}SBInit_struct[100];
想请问下当我1台主设备与多台从设备进行串口通信的过程中,数据该如何存储。串口通信可以同时利用中断收取多组信号吗?还是说需要在每台设备增加不同的延时函数。
可以给我说说思路吗?非常感谢。实际测试的情况是单独1台从设备与主设备的通信可以获取到从设备的数据,如果多台从设备同时发数据则主设备还是只能获取到一台
从设备的数据。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
yaojunjie
1楼-- · 2019-10-14 20:15
 精彩回答 2  元偷偷看……
wenzh3333
2楼-- · 2019-10-14 22:47
比如1主3从  地址可以从 00到11  如果主机要从从机读数据  就先发送地址  从机对比地址 从而响应  并用串口向主机发送数据  
主机接收完一个从机数据后  再发送下一个要读的从机的地址  这样循环着?
yaojunjie
3楼-- · 2019-10-15 00:53
wenzh3333 发表于 2017-3-20 10:35
比如1主3从  地址可以从 00到11  如果主机要从从机读数据  就先发送地址  从机对比地址 从而响应  并用串口 ...

但是我的第一步是,主机给3个从机发送广播指令FF,从机把自己的地址发给主机;主机拿着这3个地址再一个个的去问。。。这个时候主机是用一个数组来存从机的地址还是若干个数组分开来存呢?头有点晕。。。
yongli_gong
4楼-- · 2019-10-15 04:56
yaojunjie 发表于 2017-3-20 10:52
但是我的第一步是,主机给3个从机发送广播指令FF,从机把自己的地址发给主机;主机拿着这3个地址再一个个 ...

这种串口多机通信貌似只能用主从模式,像modbus协议,广播的话只能主机发送广播命令,但从机不能回应。你这种去查询从机地址不能让所有从机回复自己的地址,只能主机一个一个去问,然后将有回复的从机地址记录下来。
yaojunjie
5楼-- · 2019-10-15 05:01
yongli_gong 发表于 2017-3-20 11:47
这种串口多机通信貌似只能用主从模式,像modbus协议,广播的话只能主机发送广播命令,但从机不能回应。你 ...

没太明白你的意思,可以说的稍微详细点吗?我现在用主设备发送寻址的广播指令,从设备回复自己的地址这个操作不能实现吗?
wenzh3333
6楼-- · 2019-10-15 06:36
 精彩回答 2  元偷偷看……

一周热门 更多>