OpenEdv-开源电子网

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

妹子求大腿!!!师兄让我做IIC通信,要求是将两个相同的近距离传感器连到一个单片机进行IIC通信

[复制链接]

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
发表于 2018-10-23 09:05:17 | 显示全部楼层 |阅读模式
问题是这样的
我手里现有一块STM32板子,两个正点原子的近距离激光传感器的模块,要求是将两个传感器用IIC通信与单片机联通,同时收发数据。
一个传感器的收发数据有例程,运行良好。
但如果加两个传感器,我该怎么改啊,我一点思路都没有
百度这方面的问题,结果少之又少,大多数是讲非同时通信的,问了正点原子客服,他们说的也蛮含糊的,听不懂
求大神解答啊!!!!!!!!!跪谢
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

126

帖子

0

精华

高级会员

Rank: 4

积分
502
金钱
502
注册时间
2016-11-28
在线时间
97 小时
发表于 2018-10-24 21:40:07 | 显示全部楼层
本帖最后由 leiyitan 于 2018-10-24 21:41 编辑

楼主努力错了方向,可以多花点功夫学一下怎么爆照看看,其他的都好办,IIC 接几百个都没问题!
还有就是师兄之类的字眼请莫提…!


回复 支持 0 反对 2

使用道具 举报

13

主题

633

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1331
金钱
1331
注册时间
2016-8-1
在线时间
229 小时
发表于 2018-10-23 09:21:28 | 显示全部楼层
同意楼上,确实如此哦,先确定方案,再找方法调。
Loto虚拟示波器 官方qq群: 706769836 https://shop296209296.taobao.com/shop/view_shop.htm?tracelog=t
回复 支持 1 反对 0

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2018-10-23 09:14:45 | 显示全部楼层
应该可以有两种方法,一条I2C总线上挂两个设备,每个设备的地址不一样,根据地址进行区分通讯;另一条采用两路I2C总线,每个总线上挂一个I2C设备,这样跟单个时候没有什么区别
最后楼主记得上照片验证是不是妹纸
一分耕耘一分收获。
回复 支持 反对

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2018-10-23 09:23:35 | 显示全部楼层
yklstudent 发表于 2018-10-23 09:14
应该可以有两种方法,一条I2C总线上挂两个设备,每个设备的地址不一样,根据地址进行区分通讯;另一条采用 ...

支持上照片
学无止境
回复 支持 反对

使用道具 举报

20

主题

227

帖子

0

精华

高级会员

Rank: 4

积分
605
金钱
605
注册时间
2017-7-14
在线时间
116 小时
发表于 2018-10-23 09:38:29 | 显示全部楼层
支持上照片
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
 楼主| 发表于 2018-10-23 09:51:15 | 显示全部楼层
yklstudent 发表于 2018-10-23 09:14
应该可以有两种方法,一条I2C总线上挂两个设备,每个设备的地址不一样,根据地址进行区分通讯;另一条采用 ...

你好你好,我就是一萌新。。。这里怎么上照片啊。。。
还有,大神能不能描述的具体点啊,我脑子笨,或者有什么相关文章或者教程可以让我去学习啊
我很笨,但是我会努力学的
回复 支持 反对

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2018-10-23 11:32:58 | 显示全部楼层
氩弧焊女超人 发表于 2018-10-23 09:51
你好你好,我就是一萌新。。。这里怎么上照片啊。。。
还有,大神能不能描述的具体点啊,我脑子笨,或者 ...

你硬件模拟I2C还是硬件I2C?
一分耕耘一分收获。
回复 支持 反对

使用道具 举报

0

主题

47

帖子

0

精华

高级会员

Rank: 4

积分
640
金钱
640
注册时间
2018-10-12
在线时间
91 小时
发表于 2018-10-23 11:46:54 | 显示全部楼层
个人见解,近距离激光传感器的模块应该是现成的传感器,两个IIC地址是一样的,如果都挂在同一条IIC总线上可能会有问题,没办法区分。只能分别挂在单片机的两个IIC上,这样一号传感器对应IIC1,2号传感器对应IIC2,这样做就简单了
回复 支持 反对

使用道具 举报

12

主题

143

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2708
金钱
2708
注册时间
2017-9-8
在线时间
470 小时
发表于 2018-10-23 12:42:56 | 显示全部楼层
如果是软件模拟的IIC,那就更简单了
回复 支持 反对

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2018-10-23 13:26:28 | 显示全部楼层
看看传感器上有没有设置地址的引脚,有的话可以把传感器的地址设置为不同,然后两个传感器接在一条总线上,通信的时候通过地址判断。如果不能修改地址就把两个传感器用两个IIC口去控制。
回复 支持 反对

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-10-23 13:27:02 | 显示全部楼层
如果有硬件,那要改电路,相当于一主多从
外加:上照片+1
猪猪熊呢?
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
 楼主| 发表于 2018-10-23 14:31:27 | 显示全部楼层
yklstudent 发表于 2018-10-23 11:32
你硬件模拟I2C还是硬件I2C?

模拟IIC
回复 支持 反对

使用道具 举报

145

主题

445

帖子

0

精华

高级会员

Rank: 4

积分
823
金钱
823
注册时间
2014-1-15
在线时间
350 小时
发表于 2018-10-23 15:15:04 | 显示全部楼层
我也去把资料改成女,下次发帖就不怕单机啦!!!!!!!!!
回复 支持 反对

使用道具 举报

7

主题

200

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1279
金钱
1279
注册时间
2017-7-18
在线时间
257 小时
发表于 2018-10-23 15:22:52 | 显示全部楼层
妹子就是受欢迎,男的发帖基本没这么踊跃,下次我弄着网红头像发帖试试。
回复 支持 反对

使用道具 举报

2

主题

123

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1472
金钱
1472
注册时间
2014-4-8
在线时间
172 小时
发表于 2018-10-23 15:28:06 | 显示全部楼层
支持传照片
回复 支持 反对

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2018-4-20
在线时间
49 小时
发表于 2018-10-23 15:55:57 | 显示全部楼层
综合了一下,建议是每个传感器一根线,这样可以不管地址,代码复用也好。第二个主要修改端口配置那块的代码即可。如果还不清楚可以加我QQ752064824,,,,可以问一些不是小白的问题
回复 支持 反对

使用道具 举报

0

主题

286

帖子

0

精华

高级会员

Rank: 4

积分
950
金钱
950
注册时间
2018-4-21
在线时间
264 小时
发表于 2018-10-23 16:10:51 来自手机 | 显示全部楼层
路过,帮顶
回复 支持 反对

使用道具 举报

145

主题

445

帖子

0

精华

高级会员

Rank: 4

积分
823
金钱
823
注册时间
2014-1-15
在线时间
350 小时
发表于 2018-10-23 17:57:48 | 显示全部楼层
换头像
回复 支持 反对

使用道具 举报

4

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
266
金钱
266
注册时间
2016-7-29
在线时间
84 小时
发表于 2018-10-24 09:58:37 | 显示全部楼层
简单的就用双I2C通道。  用单通道就要区分地址。  
回复 支持 反对

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
发表于 2018-10-24 10:06:41 | 显示全部楼层
女孩子爱美,别学嵌入式啊。转行去互联网吧,嵌入式行业水深的很,又不赚钱。
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
 楼主| 发表于 2018-10-24 17:57:24 | 显示全部楼层
你我如纸 发表于 2018-10-23 15:55
综合了一下,建议是每个传感器一根线,这样可以不管地址,代码复用也好。第二个主要修改端口配置那块的代码 ...

但我是小白啊。。。怎么办
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
 楼主| 发表于 2018-10-24 17:58:06 | 显示全部楼层
aiyeba 发表于 2018-10-24 10:06
女孩子爱美,别学嵌入式啊。转行去互联网吧,嵌入式行业水深的很,又不赚钱。

妈妈说了,学一门手艺以后才不会饿肚子
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
 楼主| 发表于 2018-10-24 18:00:05 | 显示全部楼层
木凡 发表于 2018-10-23 11:46
个人见解,近距离激光传感器的模块应该是现成的传感器,两个IIC地址是一样的,如果都挂在同一条IIC总线上可 ...

主要是我用两个传感器只使用做练习,最后得用八个传感器连在一个IIC上
对了,谁知道LFMR N888这个传感器的资料去哪找啊,百度搜不到
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
 楼主| 发表于 2018-10-24 18:14:45 | 显示全部楼层
jian0052 发表于 2018-10-23 12:42
如果是软件模拟的IIC,那就更简单了

愿闻其详啊
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
 楼主| 发表于 2018-10-24 18:15:10 | 显示全部楼层
Di诺 发表于 2018-10-23 15:15
我也去把资料改成女,下次发帖就不怕单机啦!!!!!!!!!

额、、、、、、、请便。。。。
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
 楼主| 发表于 2018-10-24 18:15:43 | 显示全部楼层
sapoiuyt 发表于 2018-10-24 09:58
简单的就用双I2C通道。  用单通道就要区分地址。

我不太懂。。。。
回复 支持 反对

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
发表于 2018-10-24 18:23:26 | 显示全部楼层
氩弧焊女超人 发表于 2018-10-23 09:51
你好你好,我就是一萌新。。。这里怎么上照片啊。。。
还有,大神能不能描述的具体点啊,我脑子笨,或者 ...

别努力拉,选错了路你走不完的。

选择比努力更重要。
自己选择的路,成家前走完。
回复 支持 反对

使用道具 举报

13

主题

96

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3227
金钱
3227
注册时间
2016-5-7
在线时间
531 小时
发表于 2018-10-24 18:58:53 来自手机 | 显示全部楼层
模拟iic可以加片选,选中时读取数据
回复 支持 反对

使用道具 举报

37

主题

204

帖子

0

精华

高级会员

Rank: 4

积分
717
金钱
717
注册时间
2016-6-10
在线时间
191 小时
发表于 2018-10-24 19:36:48 | 显示全部楼层
哈哈,凑个热闹,不错不错
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
 楼主| 发表于 2018-10-25 08:52:16 | 显示全部楼层
leiyitan 发表于 2018-10-24 21:40
楼主努力错了方向,可以多花点功夫学一下怎么爆照看看,其他的都好办,IIC 接几百个都没问题!
还有就是师 ...

去你妈的滚
回复 支持 反对

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2018-4-20
在线时间
49 小时
发表于 2018-10-25 08:55:29 | 显示全部楼层
氩弧焊女超人 发表于 2018-10-24 17:57
但我是小白啊。。。怎么办

实在不懂就QQ联系我吧(752064824),之前做个一个用了3个IIC的,可以给你参考下。一些基本的也可以给你解释下。
回复 支持 反对

使用道具 举报

145

主题

445

帖子

0

精华

高级会员

Rank: 4

积分
823
金钱
823
注册时间
2014-1-15
在线时间
350 小时
发表于 2018-10-25 09:15:22 | 显示全部楼层
本帖最后由 Di诺 于 2018-10-25 09:22 编辑

通过片选管脚(CS管脚)区分,读哪个选中哪个。或者,用两个IIC
1.jpg 2.jpg
回复 支持 反对

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2018-4-20
在线时间
49 小时
发表于 2018-10-25 09:36:31 | 显示全部楼层
氩弧焊女超人 发表于 2018-10-24 17:57
但我是小白啊。。。怎么办

看到一些扯淡的可以不管他,你看看图中你是想搞哪一种,,推荐第二种,使用软件模拟IIC形式,只要是GPIO就可以,这种分别接IIC设备有几个好处,首先是复用性好(很容易增加和减少,只要改下端口),然后是使用所有IIC设备,我之前用过一款温湿度的AM2320,它的地址是改不了的,那一个总线上只能挂一个(当然,用类似片选的也能达到目的,有的设备有专门的片选脚,有的设备没有的可以做个电源开关,目的类似。但是,复杂度相对就提高了),最后,IIC总线不同于485,can等其他总线,它对于挂接的设备,线长等要求比较大,所以建议用分别接出的第二种,对于你初学者也比较友好。当然,扯了那么多,其实这个还是要看项目是什么需求,万一端口不够用,万一布线不能太多,万一。。。。。。两种都是可以做的,可以交流下
IIC.png
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
 楼主| 发表于 2018-10-25 09:56:47 | 显示全部楼层
你我如纸 发表于 2018-10-25 09:36
看到一些扯淡的可以不管他,你看看图中你是想搞哪一种,,推荐第二种,使用软件模拟IIC形式,只要是GPIO ...

哇,真的很谢谢你,我用的是VL530LX,我看这个模块原版数据手册上好像有介绍怎么复用多个模块。。。我先准备翻译一下然后学习看看,实在不懂的话我再来问你好不好~~谢谢你,你的附件我会下载仔细看的,等我研究完数据手册也传给你,谢谢谢谢哈哈
回复 支持 反对

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2018-4-20
在线时间
49 小时
发表于 2018-10-25 10:27:55 | 显示全部楼层
氩弧焊女超人 发表于 2018-10-25 09:56
哇,真的很谢谢你,我用的是VL530LX,我看这个模块原版数据手册上好像有介绍怎么复用多个模块。。。我先准 ...

咳咳,VL530LX应该是VL53L0X吧,,哈哈。。。。。。你前面有说的LFMR N888,就单这个型号来讲,百度、淘宝、google上都没找到,不过可以知道的是LFMR是低场磁电阻,所以LFMR可能不能算在编号里,所以在看看有什么型号的标识。
这两个我都没用过,用得比较多的是温湿度,光照,TVOC,实时时钟等。哈哈多交流,让我也涨涨经验。
回复 支持 反对

使用道具 举报

0

主题

91

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2018-9-27
在线时间
15 小时
发表于 2018-10-25 10:53:26 | 显示全部楼层
楼上说的对
回复 支持 反对

使用道具 举报

0

主题

113

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3321
金钱
3321
注册时间
2017-12-14
在线时间
406 小时
发表于 2018-10-25 11:33:15 | 显示全部楼层
你看看这个吧,对你应该有帮助;  http://www.elecfans.com/d/713772.html
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
 楼主| 发表于 2018-11-13 09:35:49 | 显示全部楼层
硬件这方面倒是好办了,可是改程序怎么改啊。。。。。。。需要多定义IO口,再定义一套结构体,还要修改地址。。。。从哪里下手啊
http://www.openedv.com/thread-133995-1-1.html
就是这里面的例程。。。。要怎么修改怎么定义才能用啊。。。。
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-10-23
在线时间
4 小时
 楼主| 发表于 2018-11-13 09:36:22 | 显示全部楼层
氩弧焊女超人 发表于 2018-11-13 09:35
硬件这方面倒是好办了,可是改程序怎么改啊。。。。。。。需要多定义IO口,再定义一套结构体,还要修改地址 ...

这里面有个工程,好像就得在这上面改,师兄说的
回复 支持 反对

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2018-4-20
在线时间
49 小时
发表于 2018-11-13 13:55:26 | 显示全部楼层
氩弧焊女超人 发表于 2018-11-13 09:36
这里面有个工程,好像就得在这上面改,师兄说的

把你调通一个的代码发给我(752064824),,我给你增加一个,其他多的类同
回复 支持 反对

使用道具 举报

4

主题

163

帖子

0

精华

高级会员

Rank: 4

积分
955
金钱
955
注册时间
2018-9-7
在线时间
115 小时
发表于 2018-11-13 16:44:26 | 显示全部楼层
为啥要强调自己是妹子呢
回复 支持 反对

使用道具 举报

3

主题

288

帖子

0

精华

高级会员

Rank: 4

积分
865
金钱
865
注册时间
2018-8-28
在线时间
130 小时
发表于 2018-11-13 16:55:24 | 显示全部楼层
你先找到你模块的数据手册,然后可以看看该模块寄存器怎么操作。
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2018-11-30
在线时间
9 小时
发表于 2019-5-27 11:34:01 | 显示全部楼层
你我如纸 发表于 2018-10-25 08:55
实在不懂就QQ联系我吧(752064824),之前做个一个用了3个IIC的,可以给你参考下。一些基本的也可以给 ...

您好,您做的3个IIC方便参考一下吗?感激不尽,如果可以我加您Q
回复 支持 反对

使用道具 举报

37

主题

596

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1574
金钱
1574
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-5-27 11:44:32 | 显示全部楼层
我去,IIC是总线协议啊,可以挂多个设备的,两个不是一样的吗,把两个传感器地址设置的不一样,收发数据的时候程序里面指定下要通信的传感器的地址就可以了啊。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 22:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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