你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

官方出品:RT-Thread I2C设备应用指南

[复制链接]
rtthread 发布时间:2018-4-16 15:15
本应用笔记以驱动I2C接口的6轴传感器MPU6050为例,说明了如何使用I2C设备驱动接口开发应用程序,并详细讲解了RT-Thread I2C设备驱动框架及相关函数。6 b9 n& b/ Q+ e0 Y9 M

8 m4 [/ k" U$ d/ o7 \' F
1 本文的目的和结构
, b) Q' Q/ a" C" A- F1.1 本文的目的和背景
; @/ l) K7 v( J. l: Q
I2C(或写作i2c、IIC、iic)总线是由Philips公司开发的一种简单、双向二线制(时钟SCL、数据SDA)同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息,是半导体芯片使用最为广泛的通信接口之一。RT-Thread中引入了I2C设备驱动框架,I2C设备驱动框架提供了基于GPIO模拟和硬件控制器的2种底层硬件接口。
1.2 本文的结构
5 I- h  L! h4 L. ?% F0 o% ?
本文首先描述了RT-Thread I2C设备驱动框架的基本情况,然后详细描述了I2C设备驱动接口,并使用I2C设备驱动接口编写MPU6050的驱动程序,并给出了在正点原子STM32F4探索者开发板上验证的代码示例。
2 I2C设备驱动框架简介
$ X$ R) }% q7 r6 y0 Y0 W6 s
在使用MCU进行项目开发的时候,往往需要用到I2C总线。一般来说,MCU带有I2C控制器(硬件I2C),也可以使用MCU的2个GPIO自行编写程序模拟I2C总线协议实现同样的功能。
RT-Thread提供了一套I/O设备管理框架,它把I/O设备分成了三层进行处理:应用层、I/O设备管理层、底层驱动。I/O设备管理框架给上层应用提供了统一的设备操作接口和I2C设备驱动接口,给下层提供的是底层驱动接口。应用程序通过I/O设备模块提供的标准接口访问底层设备,底层设备的变更不会对上层应用产生影响,这种方式使得应用程序具有很好的可移植性,应用程序可以很方便的从一个MCU移植到另外一个MCU。
本文以6轴惯性传感器MPU6050为例,使用RT-Thread I2C设备驱动框架提供的GPIO模拟I2C控制器的方式,阐述了应用程序如何使用I2C设备驱动接口访问I2C设备。
QQ截图20180416151030.png
图2-1 RT-Thread I2C设备驱动框架
3 运行I2C设备驱动示例代码
0 c' f# R% }  d8 S0 X( ?6 }3.1 示例代码软硬件平台
% l, v/ I' C& i9 W! s3 X; ^) M
  • 正点原子STM32F4探索者开发板
  • GY-521 MPU-6050模块
  • MDK5
  • RT-Thread 源码
    + a2 H* [( \/ g3 z/ o& {( f5 w
正点原子探索者STM32F4 开发板的MCU是STM32F407ZGT6,本示例使用USB串口(USART1)发送数据及供电,使用SEGGER JLINK连接JTAG调试。
; i1 d2 M# s2 g2 g AN0003 RT-Thread应用笔记之I2C设备应用指南.pdf (1.96 MB, 下载次数: 112)
收藏 评论5 发布时间:2018-4-16 15:15

举报

5个回答
黑皮男 回答时间:2018-4-16 20:08:31
支持
lifengheart 回答时间:2018-4-30 21:07:09
学学
newbobde163 回答时间:2018-7-28 00:15:21
学习学习,谢谢分享
zhenyu 回答时间:2018-7-31 13:30:02
暂时还用不上,先下下来备着!
princepeng11 回答时间:2020-3-1 22:41:00
感谢分享,正在学习RT-Thread设备驱动
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版