裸机IIC协议-模拟IO驱动

IIC协议

IIC也有叫I2C,是半双工的,不能同时收发,有SDA和CLK两条线,一条总线上可以挂载多个从设备,要求从设备地址不同。

IIC地址的确定

下面以BOSH的Gsensor的BMA253为例,来讲解IIC。

  1. 从BMA253的datasheet可知,通过IO接GND还是VDD可以得到不同的IIC地址,我实际是连接到GND,所以地址是0x18
    BMA253的IIC地址确认
  2. 确定读写地址,主机在读从机设备数据时要发送读地址,写数据要发送写地址,有下图,地址是7bits地址码(7~6) + 1bit (0)读写位,BMA253 0代表写,1表示读; 确定写地址是:BMA253_WRITE 0x30,读地址:BMA253_READ 0x31BMA253读写地址确认

IIC读写数据

IIC时序

具体IIC时序要求参考:https://blog.csdn.net/drivermonkey/article/details/7695547?utm_source=blogxgwz5

注意有4us和4.7us两个时间

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值