IIC通讯,主机如何向从机请求不同的数据。-Arduino中文社区 - Powered by Discuz! Archiver

传说中毒 发表于 2016-6-12 23:59

IIC通讯,主机如何向从机请求不同的数据。

本帖最后由 传说中毒 于 2016-6-13 00:01 编辑

看了 《Arduino程序设计基础》5.3.5从机发送数据,主机接收数据。   发现主机给从机发送数据请求:wire.requestFrom(); 然后从机有一个wire.onRequest()相对应。
但是,如果我想主机给 某个从机发送两个不同的请求数据,该怎么实现。
(具体例子解释我的问题:如果我的2号从机有1个测温度的功能,1测距的功能;我的主机怎么向从机发送温度的数据请求,又该怎么发送距离的数据请求)



奈何col 发表于 2016-6-13 01:20

这个从设备是你自己编程的?如果是,那就把两个数据合在一起发就行了,比如两个数据都是int型,那就是发4个字节

传说中毒 发表于 2016-6-13 01:25

奈何col 发表于 2016-6-13 01:20
这个从设备是你自己编程的?如果是,那就把两个数据合在一起发就行了,比如两个数据都是int型,那就是发4个 ...

我是刚在学习,想到这个问题。从设备是另外一块UNO板子。
如果想要温度数据,就请求发温度请求,想要距离数据,就发数据请求。不能单独请求不同数据吗?

奈何col 发表于 2016-6-13 01:29

传说中毒 发表于 2016-6-13 01:25
我是刚在学习,想到这个问题。从设备是另外一块UNO板子。
如果想要温度数据,就请求发温度请求,想要距离 ...

可以,你自己定义两个指令,主机发送这个指令,从机接收并判断返回对应的数据

传说中毒 发表于 2016-6-13 01:32

奈何col 发表于 2016-6-13 01:29
可以,你自己定义两个指令,主机发送这个指令,从机接收并判断返回对应的数据 ...

是不是就要修改wire的库函数。好像有点难度,我是初学者,还得慢慢学习。

奈何col 发表于 2016-6-13 01:42

传说中毒 发表于 2016-6-13 01:32
是不是就要修改wire的库函数。好像有点难度,我是初学者,还得慢慢学习。 ...

不用额,就是做个if判断。
页: [1]
查看完整版本: IIC通讯,主机如何向从机请求不同的数据。