打印

控制10个继电器

[复制链接]
558|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanglli|  楼主 | 2022-10-9 22:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机分别控制10个继电器,分别接通10跟通讯线。接通通讯线后发送数据,应该有数据返回,然后分析数据,无论正常分析完成后接通下个数据线,发送数据.....重复进行,直到满10次。  同时如果发送数据后一定时间内没返回,就认为通讯超时,判定通讯完成,设备有问题,然后进行下一个测试。
现在的问题是,把主程序的发送数据那设置成断点(就是说要进来10次),然后防真,程序收发很正常(其中有几路故意设置成有问题);但把断点取消后全速运行,数据一个都不对

使用特权

评论回复
沙发
juventus9554| | 2022-10-9 22:27 | 只看该作者
不能收到数据?

使用特权

评论回复
板凳
renyaq| | 2022-10-9 22:30 | 只看该作者
可能是接通继电器后没有任何的延时吧,用示波器自己测试一下通讯线端的数据是不是你要发的数据。

使用特权

评论回复
地板
zhanghqi| | 2022-10-9 22:32 | 只看该作者
如果是半双工通信,通信方向切换的时候也延时一会

使用特权

评论回复
5
yszong| | 2022-10-9 22:35 | 只看该作者
计算一下时序再谈这个吧。不是拍拍脑袋写程序出来就完事了。

使用特权

评论回复
6
lyjian| | 2022-10-10 12:46 | 只看该作者
什么样的通信线用继电器切换?不应该用数字复用或模拟开关来切换吗?

使用特权

评论回复
7
jlyuan| | 2022-10-13 18:29 | 只看该作者
确定一个收发过程要多少时间再确定你的切换频率。

使用特权

评论回复
8
dingy| | 2022-10-13 18:33 | 只看该作者
所以你要把电压调高,这样才能带的起来较高的主频

使用特权

评论回复
9
heweibig| | 2022-10-13 18:36 | 只看该作者
其实我觉得不应该用继电器做这个切换控制哦,体积大成本高,驱动电路复杂,还可能产生干扰。

使用特权

评论回复
10
jiaxw| | 2022-10-13 18:40 | 只看该作者
在你设置断点的地方加个 delay 试下

使用特权

评论回复
11
zhaoxqi| | 2022-10-13 18:44 | 只看该作者
通讯采用的是方式是RS485?

使用特权

评论回复
12
zwll| | 2022-10-13 18:45 | 只看该作者
上面有兄弟已经表示若是半双工的必须注意的切换时间控制

使用特权

评论回复
13
huanghuac| | 2022-10-13 18:50 | 只看该作者
没遇到过,帮顶吧

使用特权

评论回复
14
huanghuac| | 2022-10-13 18:55 | 只看该作者
应该用电子开关来进行切换,继电器只能用在切换速度很慢的情况下

使用特权

评论回复
15
zhanglli|  楼主 | 2022-10-13 19:02 | 只看该作者
搞定了,呵呵,犯了低级错误……

使用特权

评论回复
16
tpgf| | 2022-11-4 08:40 | 只看该作者
楼主使用中断来触发发送数据 那么中断信号正常吗

使用特权

评论回复
17
nawu| | 2022-11-4 09:08 | 只看该作者
每次发送数据之间必须要有一定的间隔才行

使用特权

评论回复
18
aoyi| | 2022-11-4 09:27 | 只看该作者
发送数据的那个缓存估计没有处理好 打断点的时候不存在这个问题 全速运行就体现出来了

使用特权

评论回复
19
zljiu| | 2022-11-4 10:28 | 只看该作者
通过现象来看 应该是程序上的时序处理的不对

使用特权

评论回复
20
gwsan| | 2022-11-4 10:35 | 只看该作者
我觉得可以添加一下握手信息 当然了 这样做有点麻烦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1016

主题

9386

帖子

1

粉丝