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

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

[复制链接]
rtthread 发布时间:2018-4-16 15:15
本应用笔记以驱动I2C接口的6轴传感器MPU6050为例,说明了如何使用I2C设备驱动接口开发应用程序,并详细讲解了RT-Thread I2C设备驱动框架及相关函数。
. f/ {/ i5 |" b1 {+ o9 f4 L* b4 V& m/ Y# i, r3 a$ m5 \5 ~" H
1 本文的目的和结构
; ^: e. G% L5 g8 F1 z1.1 本文的目的和背景
( g  j# @" |) d
I2C(或写作i2c、IIC、iic)总线是由Philips公司开发的一种简单、双向二线制(时钟SCL、数据SDA)同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息,是半导体芯片使用最为广泛的通信接口之一。RT-Thread中引入了I2C设备驱动框架,I2C设备驱动框架提供了基于GPIO模拟和硬件控制器的2种底层硬件接口。
1.2 本文的结构3 c* y3 U* `: m+ Z/ E: v4 N
本文首先描述了RT-Thread I2C设备驱动框架的基本情况,然后详细描述了I2C设备驱动接口,并使用I2C设备驱动接口编写MPU6050的驱动程序,并给出了在正点原子STM32F4探索者开发板上验证的代码示例。
2 I2C设备驱动框架简介4 Y) W8 _9 E5 f
在使用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设备驱动示例代码7 n4 M" v7 V/ g( G! G2 v3 o) |) \$ F
3.1 示例代码软硬件平台! u: ^# \3 N: g
  • 正点原子STM32F4探索者开发板
  • GY-521 MPU-6050模块
  • MDK5
  • RT-Thread 源码
    . T& B4 Q. r$ n
正点原子探索者STM32F4 开发板的MCU是STM32F407ZGT6,本示例使用USB串口(USART1)发送数据及供电,使用SEGGER JLINK连接JTAG调试。' U& A# t" S, e1 g: ]* ~
AN0003 RT-Thread应用笔记之I2C设备应用指南.pdf (1.96 MB, 下载次数: 126)
赞 收藏 评论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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版