
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文探讨了基于ARM Cortex-M3内核的STM32F103单片机系统时钟(SysTick)延时函数性能问题及优化方法。重构的延时函数不再影响系统安全。测试显示优化后1ms延时误差降至0.4‰,10s延时误差仅0.002%。虽然实际应用可能无需如此高精度,但为特定场景提供了可行的解决方案。文章最后指出,非阻塞式延时和外部定时器可能是更优选择,但对深入理解SysTick机制具有参考价值。

本文记录了在编写SSD1306驱动时发现的一个奇特BUG:在I2C通信中加入软件延时后,数据出现特定模式的错误(感叹号形状)。经过排查发现,错误数据与从机地址和写命令的二进制数据吻合。通过一系列实验证明,问题根源在于频繁开关SysTick系统时钟导致MCU“心跳震颤”,这种干扰会随着延时循环次数增加而加剧。最终解决方案是保持SysTick持续运行,避免中途开关。这一案例深刻揭示了系统时钟对嵌入式系

本文介绍了SSD1306 OLED显示屏驱动芯片的寄存器配置说明,典型用于0.96英寸128×64分辨率OLED屏幕。主要内容包括:1.基本操作命令(对比度调节、显示模式设置);2.滚动功能设置(水平/垂直滚动配置);3.寻址模式设置(页/水平/垂直寻址);4.硬件配置(扫描方向、引脚设置等);5.时钟和驱动方案设置。重点强调了多字节命令必须连续发送、未描述寄存器禁止修改等注意事项,并提供了详细的

使用Proteus8和Keil5仿真点亮LED灯并使之闪烁,0基础保姆式基础教学

MLX90614(GY906)使用说明、关键寄存器说明。STM32F10系列单片机使用软件IIC读取MLX90614温度数据例程。

MLX90614(GY906)使用说明、关键寄存器说明。STM32F10系列单片机使用软件IIC读取MLX90614温度数据例程。

本文记录了在编写SSD1306驱动时发现的一个奇特BUG:在I2C通信中加入软件延时后,数据出现特定模式的错误(感叹号形状)。经过排查发现,错误数据与从机地址和写命令的二进制数据吻合。通过一系列实验证明,问题根源在于频繁开关SysTick系统时钟导致MCU“心跳震颤”,这种干扰会随着延时循环次数增加而加剧。最终解决方案是保持SysTick持续运行,避免中途开关。这一案例深刻揭示了系统时钟对嵌入式系

使用Proteus8和Keil5仿真点亮LED灯并使之闪烁,0基础保姆式基础教学








