- 博客(6)
- 收藏
- 关注
原创 STC8H单片机用库函数精准控制SG90舵机:从原理到代码实现
本文介绍了如何使用STC8H单片机用库函数控制SG90舵机。首先讲解了SG90舵机的基本参数和PWM控制原理,重点说明了0.5ms-2.5ms脉冲对应0-180度的控制方式。接着详细解析了代码实现,包括PWM参数配置、角度转换函数和硬件连接方法,并提供了实际应用示例。通过本文,读者可以掌握STC8H单片机PWM模块的配置方法,实现精确控制SG90舵机旋转角度的功能。文章最后还给出了完整的硬件连接示意图和主循环控制示例。
2025-09-04 17:35:27
589
原创 环形队列完整解决方案
摘要:本文详细介绍了嵌入式系统中环形队列的实现与应用。主要内容包括环形队列的核心概念(循环存储、FIFO原则)、数据结构定义、关键操作函数(初始化、压入/弹出数据)的实现原理,以及串口通信中的典型应用示例。文章还深入分析了队列满/空的判断条件、多线程环境下的安全问题,并提供了批量操作优化等性能技巧。最后强调了初始化检查、线程安全和数据时效等关键注意事项,为嵌入式开发中的队列使用提供了完整解决方案。
2025-07-04 13:02:58
325
原创 基于状态机的增强型按键扫描(支持长按/短按/连按)
本文提出了一种基于状态机的增强型按键扫描算法,支持短按、长按和连按检测。核心设计采用六状态枚举(空闲、按下消抖、确认按下、释放消抖、长按和连按状态),通过定时器中断执行状态转移。算法实现消抖处理(20ms)、长按判定(1000ms)和连按间隔(200ms)控制,主程序可通过标志位获取不同按键事件。扩展建议包括回调函数机制和双击检测实现,使按键处理更加灵活高效。该方案适用于嵌入式系统,具有结构清晰、可靠性高的特点。
2025-07-03 18:24:46
278
原创 基于状态机和定时器实现按键扫描(STM32 HAL库版)
本文介绍了一种基于状态机和定时器中断的按键扫描方法。通过分解按键行为为多个状态(空闲、按下检测、消抖、确认按下、释放消抖),有效消除机械抖动影响。定时器配置为10ms扫描周期,在中断服务中处理按键状态转换,支持短按/长按检测。核心代码展示了状态机实现细节,包括消抖时间(20ms)和长按时间(1000ms)设置。该方法具有低CPU占用、精准计时、强扩展性等优势,可方便移植到不同硬件平台,并支持多按键、连发功能等扩展。关键参数可根据实际需求调整扫描周期(5-20ms)、消抖时间(10-30ms)和长按时间(80
2025-07-02 21:31:28
337
原创 STM32 GPIO模式说明(附 HAL 库代码)
STM32的GPIO模式及应用场景摘要:GPIO模式分为输入(浮空/上下拉)、输出(推挽/开漏)、复用(UART/SPI等)和模拟(ADC)。推挽输出适合驱动LED等设备,开漏输出用于I2C总线避免冲突。输入模式需根据外接电路选择上下拉方式。HAL库配置时需注意时钟使能、电压匹配和模式选择,如按钮用上拉输入配合GND,I2C需复用开漏模式。不同模式对应不同应用场景,正确配置才能确保功能实现。关键点在于理解各模式特性,如输入模式"听信号",输出模式"发信号",复用模式变
2025-07-02 12:03:48
642
原创 小白自学嵌入式
学习嵌入式开发简明指南 基础阶段: 电子基础:掌握欧姆定律、串联/并联电路、常用电子元件(电阻/电容/二极管等)的作用和使用方法 C语言编程:重点学习变量、控制语句、函数、数组、指针和结构体,特别是指针操作内存的原理 单片机入门: 认识MCU:了解单片机内部结构(CPU/内存/外设),推荐使用STM32开发板 开发环境:安装STM32CubeIDE等开发工具,配置烧录调试器 GPIO控制:学习推挽输出/开漏输出等模式,实现LED控制等基础操作 学习方法: 理论结合实践,多动手搭建电路和编写代码 使用画图辅助
2025-07-01 16:41:13
1951
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅