如何做到两个设备在RS485总线上,无同步信号,LED闪烁同步?

2020-01-25 15:27发布

如果设备1和设备2收到广播信号开始后,

在定时器控制下,
LED灯同时亮1秒,再同时灭1秒。

过7,8分钟后,发现两台设备灯亮灭时间
完全失步,比如原来是同步亮灭的,后来出现,设备1号的灯跟设备2号的灯,变成一亮一灭了。

要怎么做到同步?

个人认为是由于单片机时钟晶振误差累积造成的。

第1种方式,可以把1号机做成主机,2号机做成从机。
主机发送同步信号给从机,这样2号机会跟1号机完全同步。

第2种方式,可以由主机定时发送广播同步信号给设备1和设备2.

但现在问题是,这两种方式都不能用。
设备1号和设备2号,只能接收总线上的数据。而且没有同步信号。
那要如何做到同步?请教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
32条回答
vipcff
1楼-- · 2020-01-28 09:26
这么多大神说程序有问题了  肯定是程序的问题了
zxq6
2楼-- · 2020-01-28 10:19
你可以通过光耦,将220V转为5V电压进入单片机,然后将该信号作为定时器的时钟,这样肯定就不会不同步了。
wenking99
3楼-- · 2020-01-28 11:43
你是说用外部中断,来检测这个50HZ信号过零检测?然后用来作为定时器的计数脉冲?
lidar
4楼-- · 2020-01-28 13:39
设备1和设备2收到广播信号这样只能保证两个设备的开始时刻是一致的,两个设备由于使用的各自的晶振,即使是一样大小的晶振,他们的时钟也是不同步的,这样就无法保证两个系统是同步,使用定时器也是不能解决问题的,这样硬件上的问题,软件是无法解决的。
同步一般包含两部分的内容:1.起始时刻一致,一般使用触发信号来保证  2.时钟的一致,一般要使用同一个时钟信号
cc6868
5楼-- · 2020-01-28 16:41
 精彩回答 2  元偷偷看……
SNOOKER
6楼-- · 2020-01-28 22:04
再NB的晶体跑久了也会误差,还是主机定时同步比较靠谱

一周热门 更多>