📖 技术文库

STM32 / Arduino / RTOS / 嵌入式 知识文章
展开全部分类 (54)
FreeRTOS队列与事件组:任务间通信实战指南
RTOS RTOS · 👁 54 阅读
在RTOS应用中,任务间通信是核心需求。FreeRTOS提供队列和事件组两大机制:队列实现数据传递,事件组实现事件同步。本文通过一个实战示例,深入讲解两者的工作原理、配置方法及协同使用技巧,帮助开发者构建高效、可靠的多任务系统。
Arduino 进阶:自定义库的结构设计与发布全指南
Arduino 进阶 · 👁 40 阅读
Arduino 库是封装传感器驱动、算法模块和硬件抽象的核心方式,也是从“写草图”迈向“工程化开发”的必经之路。本文面向已有基础的嵌入式开发者,深入剖析 Arduino 库的标准目录结构、构建系统(即 Arduino 构建器)的编译规则、关键字与属性类的设计规范,并通过一个完整的按键库示例,演示如何编写、组织、调试并发布到官方库管理器。掌握这些技能后,你将能写出可复用、易维护、符合社区规范的库代码。
STM32 定时器输入捕获:频率与脉宽测量实战指南
STM32 定时器 · 👁 81 阅读
输入捕获是STM32定时器的重要功能,广泛应用于频率、周期、脉宽及占空比测量。本文从捕获原理出发,结合TIM时基与捕获通道配置,以STM32F103为例,详解使用PWM输入模式测量频率和占空比的方法,并给出基于寄存器级别的完整代码示例,帮助开发者深入理解并快速落地。
单片机程序架构设计:前后台、状态机与 RTOS 的取舍
嵌入式 架构 · 👁 25 阅读
面对日益复杂的嵌入式需求,如何选择程序架构成为开发者必须直面的问题。本文深入对比前后台(超循环)、状态机和RTOS三种主流架构的原理与适用场景,结合代码示例剖析其优势与局限,并给出基于任务数量、实时性、资源开销的选型策略,帮助读者走出“唯RTOS论”的误区,找到最匹配项目的架构方案。
STM32 与传感器:DS18B20/DHT11 单总线读取实战
STM32 传感器 · 👁 33 阅读
单总线协议以极少的引脚实现传感器通信,DS18B20 和 DHT11 是其中最常用的两种。本文从物理层时序差异出发,讲解如何在 STM32 上通过 GPIO 模拟单总线时序,分别实现温度与湿度读取,并给出可直接移植的代码示例及常见坑点,帮助开发者快速上手。
STM32 GPIO 深入解析:上下拉、开漏与速率配置实战
STM32 GPIO · 👁 45 阅读
STM32的GPIO配置远不止“输入”和“输出”那么简单。如何在浮空、上拉、下拉之间选择?开漏输出与推挽输出有何本质区别?输出速率又会对信号质量产生怎样的影响?本文从寄存器层面讲透这些底层概念,并结合HAL库给出完整代码示例,帮助开发者从原理上掌握GPIO配置,避免在实际项目中踩坑。
STM32 DAC实战:从原理到波形生成与播放
STM32 DAC · 👁 38 阅读
STM32内置DAC模块可输出真实模拟电压,常用于波形生成、音频播放和信号激励。本文从DAC工作原理出发,详细讲解基于HAL库的配置步骤,并给出通过定时器触发DMA循环输出正弦波的完整代码,涵盖原理、配置、代码与注意事项,助力开发者快速掌握STM32 DAC应用。
STM32 RTC实时时钟深入实践:闹钟、日历与低功耗唤醒
STM32 RTC · 👁 35 阅读
STM32内置RTC实时时钟模块不仅提供精确的日历/时间跟踪,还支持可编程闹钟和周期性唤醒定时器,是低功耗应用和定时记录的核心。本文从原理出发,讲解RTC备份域、时钟源和寄存器映射,结合STM32CubeMX与HAL库演示日历配置、闹钟中断实现以及利用RTC唤醒定时器配合STOP模式实现超低功耗极简唤醒,并给出常见坑点与校准技巧。
STM32 USB 从机:CDC 虚拟串口实现详解
STM32 USB · 👁 42 阅读
STM32的USB从机功能可模拟虚拟串口,使MCU与PC通信时无需RS232电平转换,且即插即用。本文从USB CDC类原理入手,详细讲解基于STM32CubeMX和HAL库的CDC虚拟串口配置方法,提供完整的收发代码示例,并总结常见陷阱,帮助嵌入式开发者快速将USB CDC集成到实际项目中。
STM32 CAN 总线通信:收发配置与过滤器设置实战
STM32 CAN · 👁 33 阅读
CAN 总线凭借高可靠性和实时性,成为汽车与工业控制的主流通信方式。STM32 内置的 bxCAN 模块支持标准帧与扩展帧,并提供强大的硬件过滤器。本文从硬件连接、波特率计算到报文收发与过滤器配置,结合完整代码示例,助你快速掌握 STM32 CAN 通信的核心要点,避开常见坑点。
STM32 中断嵌套:优先级分组与抢占/子优先级深度解析
STM32 中断 · 👁 36 阅读
在 STM32 裸机或 RTOS 开发中,中断嵌套是保障实时性的关键,而优先级分组与抢占/子优先级的配置往往令人困惑。本文从 NVIC 内核结构出发,深入讲解抢占优先级与子优先级的区别,以及如何通过 SCB->AIRCR 完成分组,并给出标准库和 HAL 库的完整配置示例与实战注意事项,助你彻底掌握中断嵌套设计。
单片机 CRC 校验原理与实现:Modbus CRC16 详解
嵌入式 协议 · 👁 36 阅读
CRC校验在嵌入式通信中广泛使用,尤其Modbus协议依赖CRC16保证数据完整性。本文从数学原理出发,讲解CRC的除法模型、Modbus CRC16的参数特性,并给出基于查表法的单片机C实现,包括表生成、计算函数与调用示例,帮助开发者快速移植到任意MCU。