
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文详解STM32通用定时器TIM2~5的核心功能,对比基础定时器,突出其支持向上/向下/中央对齐计数、4个独立通道、多种时钟源及输入输出能力。重点解析输出比较机制,阐述PWM频率(由ARR/PSC决定)与占空比(由CCR决定)的计算关系,并通过“7步配置法”实现精准波形输出。强调“软件可调占空比”特性:仅需修改CCR,无需停机,硬件自动生效。深入剖析“时基、比较、DMA、中断”四模块协同机制,结

本文详解STM32基础定时器TIM6/TIM7的原理与寄存器配置,将其类比为“闹钟”:通过时钟源与计数器量化时间,设定自动重装载寄存器(ARR)定义超时时间,当计数器溢出(CNT=ARR+1)时触发中断或事件。核心机制包括影子寄存器保障参数更新的原子性、预分频器调节分辨率、以及溢出后自动重装与清零。文章还系统梳理了时钟路径、初始化流程及关键寄存器作用,强调硬件定时器相比软件延时在精准性、并发性与C

本文基于STM32 HAL库,采用状态机设计实现串口DMA收发,通过switch(g_state)明确状态流转,实现收发时序解耦。中断仅通知事件(如数据就绪、发送完成),主循环负责逻辑处理,遵循“中断只改状态、主循环做业务”原则,提升系统鲁棒性与可维护性。针对普通模式DMA收完即关的隐患,状态机在错误状态统一恢复:停止DMA、清除溢出标志、延时后重置为IDLE,确保异常后自动恢复。结合分层架构(应

本文基于STM32F103ZET6芯片,通过STM32CubeMX配置串口USART1的DMA收发功能,实现上位机与开发板间高效数据传输。系统采用DMA模式接收8字节数据后,自动回传并翻转LED4指示通信状态。代码分析涵盖时钟使能、DMA通道初始化、中断配置及HAL库函数调用流程,重点解析HAL_UART_Receive_DMA与HAL_UART_Transmit_DMA的底层机制,包括寄存器配置

DMA通过中断机制通知CPU数据搬运完成,其核心在于通道级中断配置。每个通道可独立使能TCIE(传输完成)、HTIE(半传输)、TEIE(传输错误)中断,由DMA_ISR寄存器硬件自动置位标志位,CPU通过读取该寄存器区分事件类型。中断经NVIC分发至对应处理函数,完成数据处理后需写DMA_IFCR清除标志。双缓冲(Ping-Pong)利用HT中断实现数据搬运与处理并行,广泛用于音频等实时场景。配

本文系统讲解STM32 DMA技术,从“搬运工”思想出发,阐明其核心作用——解放CPU资源,实现外设与内存间高速数据传输。通过分析DMA与CPU、MCU及外设的四方关系,深入理解总线共享与仲裁机制。重点解析DMA通道、优先级、寄存器配置(如CCR、CNDTR、CPAR、CMAR)及其工作流程,结合串口收发示例,完整呈现DMA启动、请求、传输与中断通知全过程,为实际应用奠定坚实基础。

本文详解STM32 SPI中断模式收发数据全流程,基于W25Q64芯片读取JEDEC ID场景。核心流程为:启动函数仅登记缓冲区并开启TXEIE/RXNEIE/ERRIE中断,随后硬件通过时钟边沿交替触发发送与接收中断,由HAL_SPI_IRQHandler分发至对应ISR(TxISR/RxISR)完成字节搬移。收发同步进行,每发一字节即收一字节,需发送哑元以产生时钟。传输结束由收尾函数SPI_C

本文深入解析STM32 HAL库中SPI阻塞式通信的源码,涵盖初始化(MX_SPI1_Init与MspInit)及收发流程(TransmitReceive)。核心在于理解CubeMX配置如何映射至SPI寄存器(如CR1、CR2),并通过结构体指针实现硬件寄存器访问。重点剖析了主机模式、双线全双工、8位数据帧等配置的位级实现,并揭示硬件层面全双工通信机制:软件逻辑上通过“发-收交替”模拟半双工,而物

本文系统讲解SPI阻塞式通信与HAL库源码应用,以W25Q64 SPI Flash为例,阐述主机-从机通信原理、SPI时序模式、指令集及硬件连接。重点解析读取JEDEC ID流程,揭示“读需发Dummy”本质:因从机无法自产时钟,主机必须通过发送数据驱动SCK,实现全双工交换。结合实验代码,对比HAL_SPI_TransmitReceive与Transmit/Receive差异,阐明阻塞式通信的优

SPI(串行外设接口)是一种高速、全双工、主从结构的同步串行通信协议,由摩托罗拉提出,用于MCU与传感器、存储器等设备间的短距离通信。其核心为四线制(SCK、MOSI、MISO、NSS),支持一主多从,通过片选实现从机选择。工作模式由CPOL和CPHA决定,常用Mode0。SPI优势在于速度快、全双工、协议简单,但存在引脚占用多、无应答、无错误检测等局限。广泛应用于LCD、Flash、WiFi、O








