文章目录
前言
声明:文章内容介绍来自野火家的教程。
本文章主要是围绕stm32这个MCU跟大家分享一下记录我们用MCU与i2c设备通信的时候,编程前,我们需要掌握哪些信息。
若想知道如何写代码,那就看本博客另外一篇文章。
软件模拟i2c:https://blog.youkuaiyun.com/weixin_43772611/article/details/123163481
硬件I2C:https://blog.youkuaiyun.com/weixin_43772611/article/details/123515938
一、STM32实现I2C通信两种方式
- 第一种方式是软件模拟I2C协议通信:CPU直接使用GPIO口控制通讯电平,产生出符合通讯 协议标准的逻辑。
- 第二种方式是硬件I2C通信:由STM32的I2C片上外设专门负责实现I2C通讯协议,只要配置好该外设,它就会自动根据协议要求产生通讯信号,收发数据并缓存起来,CPU只要检测该外设的状态和访问数据寄存器,就能完成数据收发。这种由硬件外设处理I2C协议的方式减轻了CPU的工作,且使软件设计更加简单。但是,有一个缺点,有时候通信会出现意想不到的通信错误。

本文详细介绍了STM32实现I2C通信的两种方式:软件模拟和硬件I2C,并详细讲解了STM32的I2C架构、时钟控制逻辑、数据控制逻辑和整体控制逻辑。此外,还探讨了I2C通讯过程中主发送器和主接收器的操作步骤,强调了漏极开路、上拉电阻和线与在I2C通信中的作用。
订阅专栏 解锁全文
304

被折叠的 条评论
为什么被折叠?



