STM32-IIC

本文详细介绍了如何使用STM32通过IIC总线驱动MMA8452传感器,包括IIC协议的基础知识、驱动流程、注意事项和具体的驱动代码实现。内容涵盖IIC的开始条件、结束条件、握手过程和数据传输格式,并提供了MMA8452的初始化、数据读写的实例代码。
摘要由CSDN通过智能技术生成

本文以MMA8452为例,介绍如何使用STM32通过IIC驱动:

一、什么是IIC

IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的一种简单、双向、二线制、同步串行总线,主要是用来连接整体电路,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。这种方式简化了信号传输总线接口。

简单理解就是一个控制信号SCL,一个传输信号SDA,主机通过总线,根据从机地址(slave address)写入\读取数据

二、IIC使用方式&注意事项

IIC要实现数据传输,只要记住几个要点就可以:开始条件,结束条件,握手,传输数据格式

*注意:无论在哪个数据传送时,SCL控制信号一定要是有效的,即SCL = 1; 


开始条件:在SCL = 1时,SDA电平由1变为0。

结束条件:在SCL = 1时,SDA电平由0变为1。

握手(ASK):主机发送时,从机接收到8bit数据后,需要告诉主机已经收完,给出响应ASK。此时SDA从输出模式转换为输入模式,将响应电平输入到主机,主机判断是否有ASK = 1/0,然后再继续后面动作,否则数据容易错乱。

主机接收数据时,主机接收到8bit数据后,需要告诉从机已经收到,给出响应,并结束数据传送。


数据传输格式:每一个字节必须保证是8位数据长度,数据传送时,先传送最高位(MSB),每个字节后面必须有握手位(ASK),即一帧共有9位。

三、实例驱动

驱动思路:1、找到正确被驱动IC地址 2、了解驱动寄存器 3、掌握时序

本次使用工作方式为:单次写入,单次读取

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值