标题: 单片机多通道数据发送问题分析 [打印本页]

作者: mcuee    时间: 2019-4-18 10:24
标题: 单片机多通道数据发送问题分析
假如单片机采集了8个通道数据放到一个数组中,根据要求往外发送。
现在问题是全部发送没有问题,发送除某一通道外的全部数据不知道怎么实现,请问大家有什么好办法吗?
谢谢!

作者: mcuee    时间: 2019-4-18 10:27
补充:
假如 data[32]={1,2,3,4,5,6...},共8个通道,每个通道4个字节数据,怎么才能发送除了某一通道外的数据?
作者: diy1997    时间: 2019-4-18 11:46
下标时跳过不发送的。
作者: 笨笨兔    时间: 2019-4-18 12:47
楼上高招:通过下标区分不同的通道数据,想咋处理就咋处理!
作者: yzwzfyz    时间: 2019-4-18 13:08
自己定个协议就OK了。
例如:每次发两个字节,第一个字节是目的通道号,第二个字节是该通道的数据。
作者: mcuee    时间: 2019-4-18 14:15
笨笨兔 发表于 2019-4-18 12:47
楼上高招:通过下标区分不同的通道数据,想咋处理就咋处理!

这个处理起来太复杂了吧,
比如:
8个通道全部发送,这个简单
除了通道1,其余的通道数据发送,这个也简单
除了通道1和3……
除了通道2和5和7……这些怎么处理
实际上每次读取的通道数不是固定的8个,是动态的,并且只能一次性读取多个通道值

作者: liushangming    时间: 2019-4-18 14:32
通过数组的下标决定发送那个数据
作者: yousunny    时间: 2019-4-18 15:22
如果是这样的话,可以再建多几个数组缓存数据。然后扫描标志位,根据不同的情况,使用不同的数组,就可以发不一样的数据了
作者: mcuee    时间: 2019-4-18 16:24
yousunny 发表于 2019-4-18 15:22
如果是这样的话,可以再建多几个数组缓存数据。然后扫描标志位,根据不同的情况,使用不同的数组,就可以发 ...

目前就是这样处理的,也想不到好的方法了
作者: diy1997    时间: 2019-4-18 20:27
mcuee 发表于 2019-4-18 14:15
这个处理起来太复杂了吧,
比如:
8个通道全部发送,这个简单

到底是“只能一次性读取8个通道的数据到数组,然后根据需要发送”,

还是“每次读取的通道数不是固定的8个,是动态的,并且只能一次性读取多个通道值”?
作者: mcuee    时间: 2019-4-19 08:26
diy1997 发表于 2019-4-18 20:27
到底是“只能一次性读取8个通道的数据到数组,然后根据需要发送”,

还是“每次读取的通道数不是固定 ...

一次性最多只能读8个,可能某次只读了5个通道,需要发其中的2个通道
作者: diy1997    时间: 2019-4-19 11:18
mcuee 发表于 2019-4-19 08:26
一次性最多只能读8个,可能某次只读了5个通道,需要发其中的2个通道

那你可以对你要发送的数据下标啊?

难道是我理解错了?
作者: wulin    时间: 2019-4-19 12:04
mcuee 发表于 2019-4-19 08:26
一次性最多只能读8个,可能某次只读了5个通道,需要发其中的2个通道

你这样的需求有点怪。可以定义一个二维数组,想发任意通道都行。
作者: 让编程改变世界    时间: 2019-7-24 15:05
笨笨兔 发表于 2019-4-18 12:47
楼上高招:通过下标区分不同的通道数据,想咋处理就咋处理!

能举个例子吗,多谢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1