奏奏奏
发表于 2019-12-29 10:30:38
qiangtech 发表于 2019-12-28 11:13
唯一的ID是可以,问题就是从机怎么把自已的ID上报给主机。主机不知道线上挂了几个从机,而从机要考虑同时 ...
如果要每个时间差不同,可以根据ID来。
例如ID最后一个字节是FF,就把这个数转换为10进制数是255,再把这个数乘以时间间隔数1秒(你自己定义)就是开机后255秒;
对比另外一个ID最后一个字节是FE,就是……开机后254秒上报。
这样人为做出时间差。
如果是最后一个字节ID相同的情况下,不是还有倒数第2个字节,如此类推。要不然就不是是唯一的ID了。
zts329547875
发表于 2019-12-29 11:40:05
有协议没有? 没有协议,那就自定协议。。。。。
要不就是,设计失败;P;P;P;P
qiangtech
发表于 2019-12-29 16:00:40
当前来说,当然只能是自定协仪了。而且肯定的说,有看到市场上有做到了这个程度的产品。硬件上面确定没有地址设置开关,四根数据线还有一根地线相连,多从机。就可以实现控制。不过,也不能确定是不是安装之前还要做前期设定。
qiangtech
发表于 2019-12-29 16:02:02
奏奏奏 发表于 2019-12-29 10:30
如果要每个时间差不同,可以根据ID来。
例如ID最后一个字节是FF,就把这个数转换为10进制数是255,再把这 ...
这是一个想法,就是可能握手的时间会太久。
奏奏奏
发表于 2019-12-30 12:01:07
qiangtech 发表于 2019-12-29 16:02
这是一个想法,就是可能握手的时间会太久。
你可以把自定义的时间间隔设置为50毫秒也可以
天臆弄人
发表于 2019-12-31 10:53:03
这个协议很简单,主机发一个广播命令,命令里面带上超时时机和一个随机数,
从机接收到这个随机数和自己当前的 MCUID 做个与算法或其他算法,然后按着这个延迟时间给主机回信息,
这个时间也可以是地址,不就解决了吗
天臆弄人
发表于 2019-12-31 10:59:06
这还可能会出现这样情况,
1.如果从机当前分配的ID有冲突怎么办
可以通过主机多发几次,比方说发3次,每次给定随机值都不一样,在第一次发了广播命令,已经有分配的从机就不作应答,暂时想到就这么多了,
yklstudent-1794
发表于 2019-12-31 11:43:38
从机数量少时效果还行,从机数量多了很慢的
qiangtech
发表于 2019-12-31 13:10:55
yklstudent-1794 发表于 2019-12-31 11:43
从机数量少时效果还行,从机数量多了很慢的
对,开机后几分钟内都会是在确认和分配地址上。
butterflyspring
发表于 2020-1-3 14:49:51
通许采用主机轮询方式,挨个地址轮询一遍。双工通讯的话应该响应比较快。当然考虑到节点多时,总体通讯效率不是很高,够用就好。