STM32 MCU的易坑点收集

  1. IIC配置中的Clock No Stretch Mode

Clock Stretch Mode时钟延长模式:

时钟延长是一个术语,某些从设备可以把时钟线拉低,主设备发现自己释放时钟线之后时钟线还没有变成高电平,就会停止发送数据,然后等待从设备释放时钟线。通过这种方式从设备可以告诉主设备你慢点发,我这边还得准备准备(比如从机有个其他中断要处理),这在从机速率比主机低的时候会有用,stm32会默认开启时钟延长模式[Clock No Stretch Mode=disbale](这里的disable和No双重否定等于肯定),不过大多数IIC设备没有时钟延长的设定.

会导致什么问题呢?就是以STM32 MCU作为从设备时,从设备会出现ACK延时的情况,原因就是从机会主动拉低SCL不释放,一直到从机处理完它的工作再释放,主机才能发送第9各时钟,从机才真正发出ACK, 波形上就是ACK信号延迟。

相关推荐
不能跑的代码不是好代码10 小时前
STM32窗口看门狗(WWDG)知识点及标准库使用指南
stm32·单片机·嵌入式硬件
bingquan333310 小时前
在 Ghidra 中分析STM32裸机固件
stm32·单片机·嵌入式硬件
羽获飞10 小时前
从零开始学嵌入式之STM32——11.STM32---USART串行通讯
stm32·单片机·嵌入式硬件
宵时待雨12 小时前
STM32笔记归纳9:定时器
笔记·stm32·单片机·嵌入式硬件
逐步前行12 小时前
STM32_新建工程(寄存器版)
stm32·单片机·嵌入式硬件
bai54593612 小时前
STM32 CubeIDE 通过PWM占空比控制舵机角度
stm32·单片机·嵌入式硬件
松涛和鸣14 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂14 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
上海合宙LuatOS15 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
Hhh __灏15 小时前
stm32的SRAM内存不足如何分析和优化?堆栈空间如何优化?
单片机