CC3200系列教程之IIC主机——注意点
来源:互联网 发布:阿里云隐藏域名信息 编辑:程序博客网 时间:2024/06/10 03:57
汗,本来是想写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。
- CC3200系列教程之IIC主机——注意点
- 一起学CC3200系列教程之IIC主机——注意点
- 一起学习CC3200系列教程之CC3200简介
- 一起学CC3200系列教程之定时器
- 一起学习CC3200系列教程之看门狗
- 一起学CC3200系列教程之Systick
- 一起学习CC3200系列教程之常见问题
- cc3200系列教程之制作bootloader简介
- 一起学CC3200系列教程之跑马灯---寄存器版
- 一起学CC3200系列教程之跑马灯---库
- 一起学CC3200系列教程之串口--库函数
- 一起学CC3200系列教程之ADC采集
- 一起学习CC3200系列教程之PWM模式
- 一起学CC3200系列教程之中断优先级设置
- 一起学CC3200系列教程之跑马灯---库
- 一起学习CC3200系列教程之HttpServer前序
- 一起学习CC3200系列教程之Yeelink传数据
- 一起学习CC3200系列教程之SDK简介
- 【C++ primer 复习】非关联容器之map & set(一)
- 01-DNS域名解析服务
- spring事务回滚的问题
- 弹性盒模型
- Html 特殊符号 让版权符号更美观
- CC3200系列教程之IIC主机——注意点
- 探索两个变量
- 闲来无聊,搭建一个Shadowsocks玩玩
- 调用高德导航,百度导航,腾讯地图
- poj 1274 The Perfect Stall
- ffmpeg音频处理——pcm格式与resample(重采样)
- 提升ListView的运行效率
- C++用new和不用new创建类对象区别
- H5新标签