OpenEdv-开源电子网

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

IIC设备的从机地址该如何确定?

[复制链接]

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2019-4-22
在线时间
16 小时
发表于 2019-7-17 11:58:33 | 显示全部楼层 |阅读模式
5金钱
我按照探索者的例程修改,把模块SDA和SCL接在PB8、PB9上,这样就直接用原子的iic模拟时序例程在PB8、9口上还接有其他的IIC设备(MPU6050)

把多个模块接在同一条IIC总线上时,从机的地址该如何确定?是按照说明书上写的0x50吗?

如果我要读取加速度的话,是不是从机地址填0X50,读取的寄存器地址分别写0X34、0X35、0X36就可以了?

1

1
QQ截图20190717114935.png
333.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2019-4-22
在线时间
16 小时
 楼主| 发表于 2019-7-17 11:59:14 | 显示全部楼层
  1. u8 IICreadBytes(u8 dev, u8 reg, u8 length, u8 *data)
  2. {
  3.     u8 count = 0;
  4.        
  5.         IIC_Start();
  6.         IIC_Send_Byte(dev<<1);           //发送写命令
  7.         IIC_Wait_Ack();
  8.         IIC_Send_Byte(reg);   //发送地址
  9.         IIC_Wait_Ack();          
  10.         IIC_Start();
  11.         IIC_Send_Byte((dev<<1)+1);  //进入接收模式       
  12.         IIC_Wait_Ack();
  13.        
  14.     for(count=0;count<length;count++)
  15.         {
  16.                  
  17.         if(count!=length-1)
  18.                 data[count]=IIC_Read_Byte(1);  //带ACK的读数据
  19.         else  
  20.                 data[count]=IIC_Read_Byte(0);         //最后一个字节NACK
  21.         }
  22.     IIC_Stop();//产生一个停止条件
  23.     return count;
  24. }
复制代码


这是我读取函数的代码
回复

使用道具 举报

13

主题

96

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3225
金钱
3225
注册时间
2016-5-7
在线时间
531 小时
发表于 2019-7-17 12:04:28 | 显示全部楼层
多个相同的设备从机地址一样的,你必须区分开各个设备要不然地址冲突了,比如加片选选择设备,读数据的话先发从机地址,在发读命令然后读数据,0x50是七位地址,从机地址要将其左移一位即0xa0,此时最低位0表示写,1表示读,即0xa0写,0xa1读
回复

使用道具 举报

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2019-4-22
在线时间
16 小时
 楼主| 发表于 2019-7-17 15:19:52 | 显示全部楼层
不同 发表于 2019-7-17 12:04
多个相同的设备从机地址一样的,你必须区分开各个设备要不然地址冲突了,比如加片选选择设备,读数据的话先 ...

我在参数里面传入0X50,在函数里面把0X50<<1,然后再+1进入读模式,此时是0xa1对吧?
回复

使用道具 举报

13

主题

96

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3225
金钱
3225
注册时间
2016-5-7
在线时间
531 小时
发表于 2019-7-17 20:30:08 | 显示全部楼层
对的,向左移一位在加1就是读
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-15 11:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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