OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8535|回复: 16

求助,各位有什么好的思路可以提供下,感谢

[复制链接]

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
发表于 2022-12-8 16:13:22 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 Amiao 于 2022-12-8 16:17 编辑

有一组传感器,50个,触发后会向串口发送数据,例如 第一个传感器被触发,就会往串口发0,第二个触发发1,第十个触发发9,没有触发的话不会向串口发送数据。假设这50个传感器中有坏的,如何才能通过串口接收到的消息,判断哪一个传感器没被触发?
并不能每次接收都做判断,不然的话后边还没触发的也会被当成坏的



总感觉我这表达有问题,尽力了

慎独
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

2103

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4588
金钱
4588
注册时间
2015-1-10
在线时间
574 小时
发表于 2022-12-8 16:24:33 | 显示全部楼层
轮流触发,没收到对应的数字就代表哪个坏了啊
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-12-8 16:26:59 | 显示全部楼层
阿侑kevin 发表于 2022-12-8 16:24
轮流触发,没收到对应的数字就代表哪个坏了啊

嗯嗯,我现在也是这么做的,每接收到一个数据就存入数组。但是具体在什么时候判断数组里哪个数为0就不知道了
慎独
回复

使用道具 举报

16

主题

426

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2676
金钱
2676
注册时间
2018-11-8
在线时间
431 小时
发表于 2022-12-8 16:47:43 | 显示全部楼层
没看懂 传感器是否触发是怎么判断的?
回复

使用道具 举报

11

主题

2103

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4588
金钱
4588
注册时间
2015-1-10
在线时间
574 小时
发表于 2022-12-8 16:59:46 | 显示全部楼层
Amiao 发表于 2022-12-8 16:26
嗯嗯,我现在也是这么做的,每接收到一个数据就存入数组。但是具体在什么时候判断数组里哪个数为0就不知 ...

看应用环境设置超时,大于一轮触发的总时长就行
回复

使用道具 举报

8

主题

98

帖子

0

精华

高级会员

Rank: 4

积分
789
金钱
789
注册时间
2019-8-15
在线时间
423 小时
发表于 2022-12-8 17:00:23 | 显示全部楼层
如果可以满足:1.不用串口;2.传感器有多的引脚,触发为1,未触发为0。则可以参考,稚晖君之前做了一个键盘,用的移位寄存器,只要同时触发所有的传感器,就可以知道哪个坏了。
回复

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3329
金钱
3329
注册时间
2011-11-10
在线时间
207 小时
发表于 2022-12-8 17:20:06 | 显示全部楼层
既然有串口,那50个传感器挨个点名,不回答“到”的就是坏的。
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-12-8 19:17:28 | 显示全部楼层
鲸鱼niko 发表于 2022-12-8 17:00
如果可以满足:1.不用串口;2.传感器有多的引脚,触发为1,未触发为0。则可以参考,稚晖君之前做了一个键盘 ...

同时有点困难
慎独
回复

使用道具 举报

10

主题

271

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1236
金钱
1236
注册时间
2015-5-14
在线时间
352 小时
发表于 2022-12-8 21:26:31 来自手机 | 显示全部楼层
1、触发是主机控制,那就好办。在主机里面有两张表,触发表和应答表,对比就知道谁坏了。
回复

使用道具 举报

10

主题

271

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1236
金钱
1236
注册时间
2015-5-14
在线时间
352 小时
发表于 2022-12-8 21:29:26 来自手机 | 显示全部楼层
2、如果触发不是主机控制的,那就用超时解决,每个传感器有个心跳间隔。主机有一张通信间隔表,收数据或心跳包就刷新,然后查谁超时,谁坏了。
回复

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4133
金钱
4133
注册时间
2018-5-14
在线时间
902 小时
发表于 2022-12-9 08:44:03 | 显示全部楼层
你这个逻辑本身就存在问题,串口一主多从是不允许从机主动发送的,如果多个从机主动发送会导致通信线路逻辑混乱。最好就是主动问询式的协议。如果实在改不了协议,就在一段时间内将接收输入放入一个buff,然后排序,查询丢失的就行了。
回复

使用道具 举报

8

主题

98

帖子

0

精华

高级会员

Rank: 4

积分
789
金钱
789
注册时间
2019-8-15
在线时间
423 小时
发表于 2022-12-9 09:09:10 | 显示全部楼层
把50个传感器两两配成一组,一共25组。在一组中,有A1和B1,如果A1收到B1的信号,则A1点灯,代表B1是好的;反过来,代表A1是好的。则假设B18没亮,代表A18是坏的
回复

使用道具 举报

8

主题

98

帖子

0

精华

高级会员

Rank: 4

积分
789
金钱
789
注册时间
2019-8-15
在线时间
423 小时
发表于 2022-12-9 09:19:42 | 显示全部楼层
触发顺序可不可控?触发周期可不可控?会不会有两个或多个同时触发的情况?
回复

使用道具 举报

12

主题

129

帖子

0

精华

高级会员

Rank: 4

积分
910
金钱
910
注册时间
2018-4-5
在线时间
69 小时
发表于 2022-12-9 09:24:28 | 显示全部楼层
Amiao 发表于 2022-12-8 16:26
嗯嗯,我现在也是这么做的,每接收到一个数据就存入数组。但是具体在什么时候判断数组里哪个数为0就不知 ...

轮流触发是主设备轮流触发从设备还是发给1号然后从设备之间轮流按顺序触发的?如果是主设备,那么增加两个计数,发送计数和接收计数,触发完成判断是否每次都收到的两个计数是否相等,例如发送信号50个,那么触发完成,接收计数必定也是50,若触发完成,但是计数不为50,则去判断0位。
保守秘密,守望共济,等价交换,尊重知识,探求真知。
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
0
金钱
0
注册时间
2022-12-9
在线时间
0 小时
发表于 2022-12-9 14:26:38 | 显示全部楼层
111111111111111111111111111
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8206
金钱
8206
注册时间
2020-5-11
在线时间
3700 小时
发表于 2022-12-9 16:12:36 | 显示全部楼层
本帖最后由 LcwSwust 于 2022-12-9 16:15 编辑

有传感器的说明书没?有电路或者你的电气连接图没?
50个传感器的串口是并联在一起的?还是说主机通过50个串口去与传感器通信?
传感器是否主动发出串口数据?是否存在多个传感器同时发出串口数据的情况?是否可能造成总线冲突?
"触发"是怎么触发?主机可不可以发送查询指令?
若不"触发",它和坏掉或没接入有啥区别?
"触发"是偶然的还是受主机控制的?

专治疑难杂症
回复

使用道具 举报

32

主题

187

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2021-3-21
在线时间
172 小时
 楼主| 发表于 2022-12-10 09:42:30 | 显示全部楼层
LcwSwust 发表于 2022-12-9 16:12
有传感器的说明书没?有电路或者你的电气连接图没?
50个传感器的串口是并联在一起的?还是说主机通过50个串 ...

霍尔传感器。手动操控触发传感器 ,所以时间也不确定。我加了个按键,如果都测试完,再按键然后判断是否有未触发的
慎独
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 20:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表