logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【STM32】 通用定时器 TIM 详解:从概念到 PWM 速通

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

文章图片
#单片机#嵌入式硬件#mcu +1
【STM32】基础定时器 TIM 详解:从极简原理到寄存器全解析

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

文章图片
#单片机#嵌入式硬件#mcu +1
【STM32】 DMA 源码分析与实战(下):DMA 收发状态机与 HAL 分层

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

文章图片
#android#单片机#嵌入式硬件 +3
【STM32】 DMA 源码分析与实战(上):从需求到收发源码

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

文章图片
#单片机#stm32#嵌入式硬件 +2
【STM32】 DMA中断机制、NVIC 联动与配置实战前章

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

文章图片
#单片机#嵌入式硬件#stm32 +1
【STM32】 DMA 从“搬运工“思想到通道寄存器

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

文章图片
#stm32#嵌入式硬件#单片机
【STM32】 SPI 中断模式收发数据实战:从阻塞到中断的架构构建

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

文章图片
#单片机#stm32#嵌入式硬件
【STM32】 SPI阻塞式通信与HAL源码 (源码分析)

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

文章图片
#stm32#嵌入式硬件#单片机
【STM32】 SPI阻塞式通信与HAL源码(串口读ID实战)

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

文章图片
#stm32#单片机#ecmascript +2
【STM32】从软硬两角度初步了解SPI(概念 + 面试题)

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

文章图片
#单片机#嵌入式硬件#stm32 +2
    共 56 条
  • 1
  • 2
  • 3
  • 6
  • 请选择