- 博客(30)
- 收藏
- 关注
原创 一文了解标准库SPI
SPI协议简明指南 SPI(串行外设接口)是一种高速全双工通信协议,用于微控制器与外设之间的数据传输。本指南从基础原理到STM32应用,帮助开发者快速掌握SPI技术。 核心概念 4线制:SCK(时钟)、MOSI(主发从收)、MISO(从发主收)、CS(片选) 通信模式:支持4种时钟模式(CPOL/CPHA组合) 工作方式:主从架构,全双工同步传输 STM32实现要点 初始化SPI外设时钟和GPIO 配置SPI参数(模式、时钟分频等) 使用标准API函数进行数据传输 通过CS引脚管理多从机选择 典型应用包括F
2025-12-08 21:29:08
532
原创 一文了解IIC
本文介绍了I2C通信协议及其软件模拟实现方法。I2C是一种半双工、同步串行通信协议,包含空闲状态、起始/停止信号、应答机制等关键时序。文章详细讲解了使用STM32 GPIO模拟I2C通信的软件设计流程,包括初始化、总线控制、数据传输等核心函数的实现代码。通过控制PB6(SCL)和PB7(SDA)引脚的时序,实现了100Kbps标准速率的I2C通信功能,为硬件资源受限情况下的I2C通信提供了替代方案。
2025-11-27 17:05:03
718
原创 一文搞定标准库DMA
本文介绍了STM32微控制器中的DMA(直接内存访问)技术,详细讲解了其基本原理、架构特点和传输流程。DMA允许外设与内存直接传输数据,无需CPU介入,可显著提高系统效率。文章分析了DMA的两种传输模式(单次和循环)、核心优势(降低CPU负载、提高实时性)以及典型应用场景(UART通信、ADC采样等)。最后提供了DMA初始化配置的示例代码和常用API函数,帮助开发者快速掌握DMA的实际应用。通过本文,读者可以全面了解STM32 DMA的工作原理和使用方法。
2025-11-24 19:27:07
747
原创 一文了解标准库ADC
本文详细介绍了STM32 ADC的原理与应用,主要包含以下内容: ADC基本原理:将模拟信号转换为数字信号,包含转换公式和硬件框图说明。 关键参数:12位分辨率、16路输入通道、3.3V参考电压等核心特性。 工作模式:详细讲解单次转换、连续转换和扫描模式的特点及适用场景。 硬件设计要点:提供抗干扰措施,包括独立供电、滤波电路设计和走线注意事项。 编程接口:列出ADC初始化、校准、数据采集等常用API函数,并给出配置示例代码。 引脚对应关系:附上ADC通道与GPIO引脚映射表。 文章适用于STM32F1系列开
2025-11-17 17:09:17
575
原创 一文搞定标准库RTC
STM32 RTC开发指南摘要 本文详细讲解STM32 RTC(实时时钟)模块的开发方法。RTC作为独立计时模块,具有系统独立性、数据保持和精准计时的核心价值。文章从基础概念出发,解析RTC的硬件架构、时钟源选择和工作原理。在硬件设计部分,提供了晶振连接、备份电源配置等具体电路实现方案。代码实现方面,给出了完整的RTC初始化流程,包括时钟配置、中断设置和分频器调整。同时介绍了闹钟中断、低功耗模式等高级应用技巧,并针对常见问题提供调试建议。通过本文,开发者可全面掌握STM32 RTC从基础到进阶的开发技术。
2025-11-11 20:34:26
997
原创 一文搞定标准库PWM
摘要:本文深入讲解STM32F103RCT6的PWM功能实现原理与应用。首先通过台灯开关的类比,生动解释了PWM的核心概念(频率、周期、占空比)。然后剖析STM32定时器硬件机制,详细说明自动重载寄存器(ARR)和捕获/比较寄存器(CCRx)如何协同产生PWM波形。最后以TIM3通道1为例,给出LED呼吸灯的具体实现代码,包括GPIO配置、定时器初始化和占空比动态调节方法。文章还指出PWM配置中的关键点:频率计算、输出极性设置和预装载使能等。
2025-11-05 20:44:29
841
原创 MODBUS协议学习(基于RS485总线)一文学会
本文系统介绍了MODBUS协议与RS485总线的核心原理与应用要点。RS485采用差分信号传输,具有抗干扰强、传输距离远等特点,需注意终端电阻匹配和共地要求。MODBUS协议采用主从架构,支持RTU和ASCII两种传输模式,通过功能码定义操作类型,数据帧包含地址、功能码、数据和校验字段。文中详细讲解了通信流程、错误处理机制,并提供了设备选型、参数配置和常见问题排查的实操指南,为工业自动化系统搭建提供实用参考。
2025-11-03 19:15:08
805
原创 一文搞定定时器TIM
STM32F103微控制器配备11个16位定时器,分为高级、通用和基本三类。定时器通过预分频器和自动重载值实现精确计时,支持PWM输出、输入捕获等关键功能,广泛应用于LED控制、电机驱动等场景。配置时需操作控制寄存器(CR1)、预分频器(PSC)、自动重载值(ARR)等核心寄存器。文章提供了常用API函数和初始化代码示例,涵盖时基配置、中断设置等关键操作,帮助开发者快速掌握定时器的核心原理与应用方法。
2025-10-29 11:28:37
936
原创 一文搞定独立看门狗(IWDG)标准库
独立看门狗(IWDG)是嵌入式系统中的关键硬件机制,用于监控系统运行状态,防止死锁或程序跑飞。本文详细介绍了IWDG的工作原理、实现方法和典型应用场景。IWDG通过独立时钟源(如LSI)驱动,需要程序定期"喂狗"(重置定时器),若超时未喂狗则触发系统复位。文章提供了STM32系列微控制器的实现代码,包括初始化配置和喂狗操作,并展示了工业自动化、汽车电子等高可靠性场景中的应用。IWDG能显著提升系统稳定性,但需合理设置超时时间以避免误复位。
2025-10-27 21:01:30
631
原创 一文学会标准库USART
摘要:本文介绍了STM32的USART串口通信原理与实现方法。USART支持全双工异步通信,通过TX/RX引脚传输数据,数据帧包含起始位、数据位(8/9位)、可选的奇偶校验位和停止位。文章详细讲解了波特率设置、数据校验(奇校验/偶校验)原理、硬件流控机制,并提供了STM32F103的初始化代码示例,包括GPIO配置、USART参数设置(115200波特率)及数据发送流程。通过移位寄存器实现串并转换,利用状态标志位(TXE、TC、RXNE)监控通信状态。代码模块展示了如何通过USART发送字符串并实现LED控
2025-10-22 18:43:14
895
原创 一文搞定标准库EXIT外部中断
本文深入解析STM32外部中断(EXTI)机制,涵盖其核心原理与实战应用。EXIT通过硬件事件直接中断CPU,实现毫秒级响应,相比轮询可降低30%-60%功耗。重点剖析了EXTI的4种触发方式、硬件链路和工作流程,并给出STM32F103按键中断的完整代码实现。文章还提供高级应用指南,包括中断冲突解决方案和低功耗优化技巧,以及智能门锁、工业自动化等典型应用案例。通过SYSCFG配置GPIO与EXTI映射,配合NVIC管理中断优先级,开发者可构建高效的实时响应系统。
2025-10-21 19:22:00
681
原创 一文搞定标准库systick
本文介绍了STM32中SysTick定时器的原理与应用。SysTick是Cortex-M内核的24位递减计数器,主要用于RTOS任务调度、精确延时和计时基准。文章详细讲解了SysTick的工作机制,包括寄存器组成和计数过程,并提供了HAL库配置方法。通过示例代码展示了如何使用查询法和中断法实现微秒/毫秒级延时,以及在主程序中应用SysTick进行LED闪烁控制。此外,还列举了RCC模块常用API函数,涵盖时钟配置、总线和外设控制等操作,为STM32开发提供了实用参考。
2025-10-20 18:45:29
646
原创 一文看懂四种输出四种输入,精通GPIO
本文介绍了使用STM32标准库实现GPIO控制的基本方法。主要内容包括:1) STM32F103VET6芯片的GPIO端口管理结构,51个IO口通过GPIOA-D端口分组管理;2) GPIO的7个寄存器功能和8种工作模式(4种输入、4种输出);3) 推挽输出与开漏输出的电路原理差异;4) 标准库提供的GPIO和RCC相关API函数;5) 实际应用代码示例,展示如何初始化GPIOC端口并控制PC6/PC7引脚电平。文章最后提供了所用开发板的购买链接。
2025-10-19 19:10:55
858
原创 用Cube MX实现FreeRTOS任务消息队和消息队列原理
《FreeRTOS消息队列工作原理与应用》摘要: 消息队列是FreeRTOS中实现任务间通信的"安全通道",采用先进先出(FIFO)原则工作。它解决了多任务环境下的三大核心问题:1)避免数据竞争,2)实现任务解耦,3)保障数据实时传输。通过类似快递站货架的存储机制,生产者任务和消费者任务无需直接交互即可安全传递数据。典型应用场景包括传感器数据采集、按键事件处理和日志系统。相比全局变量,消息队列虽然内存占用略高,但具有更高的安全性和可靠性。配置时需注意队列长度设置、数据类型统一和并发控制等
2025-10-16 13:04:04
844
原创 FreeRTOS入门:任务挂起和解挂,小白也能轻松搞懂!
本文介绍了FreeRTOS中的任务挂起与解挂功能。任务挂起相当于按下"暂停键",让任务暂时休眠以节省资源或避免冲突;解挂则是"播放键",唤醒任务继续工作。文章通过智能温控系统的例子说明其应用场景,并附上STM32开发板的实现代码,帮助读者理解这一重要概念。挂起和解挂功能能有效提升系统效率,简化任务管理,是FreeRTOS开发中的实用技巧。
2025-10-12 18:46:46
987
原创 一文搞定IIC,Cube MX_HAL库配置加代码
IIC(Inter-Integrated Circuit)总线是一种广泛应用的同步串行通信协议,仅需两根线(SCL时钟线和SDA数据线)即可实现多设备通信。:总线采用开漏输出,需上拉电阻;时钟频率(标准100kHz/快速400kHz)影响传输速率。打开Cube MX点A-Z,进入I2C1,配置如上。生成Cube MX,打开Keil工程软件。
2025-09-24 00:05:55
926
原创 一文学会TIMER定时器HAL库配置加代码
本文详细讲解了STM32F103定时器的原理与应用。主要内容包括:定时器的基本概念和工作原理;STM32F103的11个定时器分类及特性对比(高级、通用、基本定时器);核心寄存器的功能说明;通过HAL库配置定时器中断实现LED闪烁和PWM信号生成的实战步骤;以及进阶应用技巧如级联模式、编码器接口等。文章提供了完整的代码示例和开发板连接信息,帮助开发者快速掌握定时器在嵌入式系统中的关键应用。
2025-09-15 16:15:44
971
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅