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

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

[复制链接]
rtthread 发布时间:2018-4-16 15:15
本应用笔记以驱动I2C接口的6轴传感器MPU6050为例,说明了如何使用I2C设备驱动接口开发应用程序,并详细讲解了RT-Thread I2C设备驱动框架及相关函数。
* a; c# n& x3 Y4 M6 W" f7 a# {( J# o. Z2 C) h# H
1 本文的目的和结构
9 W5 z4 A$ @8 Y$ w1 `1.1 本文的目的和背景  I* ]6 [) \+ Q$ O
I2C(或写作i2c、IIC、iic)总线是由Philips公司开发的一种简单、双向二线制(时钟SCL、数据SDA)同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息,是半导体芯片使用最为广泛的通信接口之一。RT-Thread中引入了I2C设备驱动框架,I2C设备驱动框架提供了基于GPIO模拟和硬件控制器的2种底层硬件接口。
1.2 本文的结构
/ |* Y! V0 Q: w1 w1 h
本文首先描述了RT-Thread I2C设备驱动框架的基本情况,然后详细描述了I2C设备驱动接口,并使用I2C设备驱动接口编写MPU6050的驱动程序,并给出了在正点原子STM32F4探索者开发板上验证的代码示例。
2 I2C设备驱动框架简介% n* E, E! H: h/ `2 y2 L8 D
在使用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设备驱动示例代码" \& @, @" o6 ]8 X$ [, Q
3.1 示例代码软硬件平台8 g5 j1 K: A# g6 V* d5 u* J
  • 正点原子STM32F4探索者开发板
  • GY-521 MPU-6050模块
  • MDK5
  • RT-Thread 源码
    ; c$ j1 ]7 U4 r# K7 S0 ]1 E3 K9 \- A# Z. [
正点原子探索者STM32F4 开发板的MCU是STM32F407ZGT6,本示例使用USB串口(USART1)发送数据及供电,使用SEGGER JLINK连接JTAG调试。
4 S2 l8 C$ ^  S AN0003 RT-Thread应用笔记之I2C设备应用指南.pdf (1.96 MB, 下载次数: 118)
收藏 评论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 手机版