嵌入式STM32中I2C控制器外设详解

STM32中的I2C外设主要负责IIC协议与外界进行通信,就像USART外设一样,我们在学习的过程中,需要抓住I2C应用的重点。

STM32在使用I2C协议时,可以通过两种方式,

一是软件模拟协议

意思是使用CPU直接控制通讯引脚的电平,产生出符合通讯协议标准的逻辑。例如,像点亮LED那样,直接给引脚输出高电平或者低电平,从而模拟I2C协议的通讯协议逻辑。

另一是硬件实现协议

通过STM32开发板上的I2C外设专门负责实现I2C通讯协议,只要配置好该外设,他就会自动根据协议要求产生通讯信号,收发数据并缓存起来,CPU只要检测该外设的状态和访问数据寄存器,就能完成数据收发。

这种由硬件外设处理I2C协议的方式减轻了CPU的工作,并且使软件的设计更加简单。

下面我们来讲解一下STM32开发板上的I2C外设

STM32的I2C外设可用作通讯的主机及从机,支持100Kbit/s和400Kbit/s的速率,支持7位、10位设备地址, 支持DMA数据传输,并具有数据校验功能。

STM32的I2C架构剖析

我们先来看一下I2C的逻辑框图

图片

我们把I2C的逻辑框图大致分为4部分,1通讯引脚、2时钟控制逻辑、3数据控制逻辑、4整体控制逻辑

1通讯引脚

相关推荐

  1. <span style='color:red;'>STM</span><span style='color:red;'>32</span> <span style='color:red;'>I</span><span style='color:red;'>2</span><span style='color:red;'>C</span>

    STM32 I2C

    2024-05-14 11:26:05      22 阅读
  2. STM32外设编程指南:GPIO、UART、SPI和I2C

    2024-05-14 11:26:05       3 阅读

最近更新

  1. .Net Core WebAPI参数的传递方式

    2024-05-14 11:26:05       0 阅读
  2. QT--气泡框的实现

    2024-05-14 11:26:05       0 阅读
  3. LeetCode 968.监控二叉树 (hard)

    2024-05-14 11:26:05       0 阅读
  4. leetcode热题100.完全平方数(动态规划进阶)

    2024-05-14 11:26:05       0 阅读
  5. leetcode328-Odd Even Linked List

    2024-05-14 11:26:05       0 阅读
  6. C 语言设计模式(结构型)

    2024-05-14 11:26:05       0 阅读
  7. v-if 与 v-show(vue3条件渲染)

    2024-05-14 11:26:05       0 阅读
  8. kafka防止消息丢失配置

    2024-05-14 11:26:05       0 阅读

热门阅读

  1. 使用Django构建高效的Web应用

    2024-05-14 11:26:05       2 阅读
  2. C++算法——函数对象\谓词\内置仿函数

    2024-05-14 11:26:05       4 阅读
  3. chatGPT 凌晨发布会内容总结

    2024-05-14 11:26:05       3 阅读
  4. LINQ(四) ——使用LINQ进行对象类型初始化

    2024-05-14 11:26:05       4 阅读
  5. 分享四种CAD图纸加密方法,严防盗图

    2024-05-14 11:26:05       3 阅读
  6. 矩阵的特征分解

    2024-05-14 11:26:05       3 阅读
  7. 蓝桥杯-移动距离(最简单的写法)

    2024-05-14 11:26:05       5 阅读