STMCU小助手
发布时间:2022-12-7 16:03
|
对于STM32F103单片机来说,它是自带了硬件 IIC,但是出于使用习惯和程序可移植性考虑,我们一般选择用 IO 口去模拟 I2C 协议。 使用 IO 口模拟 IIC 的好处有三点: 1. 使用 IO 模拟 IIC 协议可以让大家把之前学过的 GPIO 知识再进行深度的理解和扩展; 2. 加深对 IIC 时序流程的认识; 3. 方便移植到 STM32 的任何一个引脚,如再做修改可以移植到其他 MCU 平台。 当然这种方法也存在一些缺点,比如考虑这样一种极端情况,在程序运行时会有执行时 间很长的中断服务函数打断 IIC 时序,造成 IIC 写失败或者读失败。如果存在这种情况,建 议大家在进行 IIC 操作之前关闭全局中断,使用后再打开。 首先,对模拟I2C的I/O管脚进行宏定义,包括SDA线、SCL线管脚的定义等,代码如下:
接下来便是模拟I2C的初始化函数与时序操作的函数 初始化操作与GPIO初始化基本一致: 1.配置时钟; 2.配置管脚的输入输出模式,其中输出模式最好设为上拉输出; 3.设置管脚。
以上便是STM32F103模拟I2C的全部操作。 ———————————————— 版权声明:TangPeng_HanMO |
STM32固件库分享,超全系列整理
【MCU实战经验】基于STM32F103的二轮平衡车(6轴上位机 源代...
10张图带你完全掌握STM32 GPIO,从入门到精通,收藏就够了!
如果你解决了这些问题,就可以直接学STM32
STM32的分类和选型
学习STM32很简单?
STM32到底由什么组成?内核和外设的关系又是怎样的?看这篇!
GD32和STM32的区别在哪里??
入门嵌入式,为什么都要先学STM32??
STM32中断响应延迟优化:从NVIC配置到DMA加速的极致性能调优
微信公众号
手机版