logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

DMA 全深度解析(4):DMA+PWM实现单总线协议

本文介绍了利用STM32的DMA+TIM PWM实现非标准时序协议的高效通信方案。针对WT588F02B语音模块的一线串口协议,传统CPU软件延时方式会完全占用CPU资源(11.4ms/字节),而DMA方案通过预存比较值数组,由DMA自动搬运到定时器CCR寄存器生成精确PWM波形,使CPU仅在准备数据时短暂工作(<1us),其余时间完全空闲。该方案具有硬件定时精度、零CPU占用、支持多任务等

文章图片
#单片机#嵌入式硬件#stm32 +2
DMA 全深度解析(3):环形缓冲区(Ring Buffer)的实现

本文介绍了一种基于STM32F4+FreeRTOS+HAL的UART-DMA串口采集系统设计方案。通过环形缓冲区(RingBuffer)实现异步数据采集与同步处理的解耦,采用"中间件+BSP+APP"三层架构设计,包含DMA CIRCULAR模式持续写入、中断回调更新指针、队列通知同步等核心机制。系统支持半满/全满中断和空闲中断互补触发,结合状态机实现帧协议解析,有效解决了串口

文章图片
#arm开发#面试#职场和发展 +2
DMA 全深度解析(2):AB-buffer的实现

本文介绍了AB双缓冲(乒乓缓冲区)在嵌入式开发中的应用,重点解决连续数据流处理中的核心矛盾:数据接收与处理的并行冲突。通过STM32F4+FreeRTOS+HAL库实现了一套完整的ADC-DMA采集系统,采用双缓冲交替工作模式(DMA写BufferA时CPU处理BufferB,反之亦然),配合互斥锁保护和优先级继承机制,确保数据处理的同步与安全。系统包含管理线程(高优先级)、处理线程和DMA中断回

文章图片
#单片机#arm开发#面试 +1
DMA 全深度解析(1):从总线原理到实战配置

本文详细介绍了STM32F4中DMA(直接存储器访问)技术的原理与应用。DMA通过独立控制器接管数据搬运任务,实现CPU与外设并行工作,大幅提升系统效率。文章从DMA解决的问题入手,分析了STM32F4的DMA架构、三种传输方向(外设-内存、内存-外设、内存-内存)及核心机制(总线仲裁、FIFO缓冲、突发传输)。同时提供了CubeMX配置指南、常见错误规避方法以及中断处理技巧。最后总结了DMA的关

文章图片
#网络#stm32#物联网 +3
深入 ARM Cortex-M4 内核:单片机从上电到应用的全链路驱动流程解析

本文聚焦单片机启动与全局变量存储的底层原理,直面面试高频考题:“程序是否从main()启动?”“有初值的全局变量重启后如何恢复?”“全局变量存在哪里?为何初始化与未初始化变量内存分段?”​从ARM Cortex-M4硬件复位出发,剖析启动文件(Reset_Handler)的全流程:上电后PC指向复位向量,启动代码完成时钟、栈初始化,通过.data段拷贝(恢复有初值全局变量)、.bss段清零(处理未

文章图片
#单片机#arm开发#嵌入式硬件
深入 ARM Cortex-M4 内核:单片机从上电到应用的全链路驱动流程解析

本文聚焦单片机启动与全局变量存储的底层原理,直面面试高频考题:“程序是否从main()启动?”“有初值的全局变量重启后如何恢复?”“全局变量存在哪里?为何初始化与未初始化变量内存分段?”​从ARM Cortex-M4硬件复位出发,剖析启动文件(Reset_Handler)的全流程:上电后PC指向复位向量,启动代码完成时钟、栈初始化,通过.data段拷贝(恢复有初值全局变量)、.bss段清零(处理未

文章图片
#单片机#arm开发#嵌入式硬件
到底了