CC3200系列教程之IIC主机——注意点

汗,本来是想写IIC教程的,结果发现IIC好像没有什么要写的东西,看看官方的例程,基本的IIC也就出来,难道要我再造轮子? 于是想写一下注意点。

一般IIC都是用于传感器的通信的,发现官方的板子自带的温度传感器是SMBUS通信协议的,SMBUS是可以用IIC通信,但是有点小区别,具体的区别自己可以google下。


背景:

N天以前,有个同学说,他用IIC去获取陀螺仪的数据,结果怎么都不成功。刚好我在N天前有用过IIC,知道了CC3200的IIC跟我们平常用的IIC有点不太一样(平常我用的是软件的IIC),一眼就知道问题出现在哪里,然后跟他讲了好多IIC的东西,唉,有些代码可能会误导那些对IIC协议不太懂的同学。


像stm32的硬件IIC是比较特别的,所以基本上都是用软件的IIC。什么是软件的IIC:软件控制IO的电平,模仿出IIC的时序图。在这个过程中需要软件去控制电平。

当时如果是硬件IIC的话,就不需要软件去控制电平了,芯片自己会帮我们做了。


IIC协议:如果有不懂的话,请自己先GOOGLE下,花几分钟去详细了解它。哥哥在这里就介绍重点。


IIC分成主机和从机,从机都需要一个地址,这个地址是7BIT的,假设

设备地址是 0b1100 111  ------7bit                                    -------在CC3200的IIC中,我们只关心这个

主机向从机发送数据时的地址是   0b1100 1110  -----8bit    -------在CC3200的IIC中,我们不关心这个

从机向主机发送数据时的地址是   0b1100 1111   -----8bit   -------在CC3200的IIC中,我们不关心这个

地址的最低bit是用来标识数据的传输方向,所以当我们用软件的IIC,这个bit是需要我们去控制的。


如果我们是用软件的IIC,一般给出的就是    写地址==0b1010 1110   和     读地址== 0b1100 1111  ,8bit总比7bit看的顺眼吧.

如果是硬件的IIC,地址就是 0b1100 111 ,至于是写或者是读,都是由CC3200帮我们做了。所以我们给CC3200的设备地址是7bit。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值