自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 DSHOT协议进阶实现-1通道DMA发4路波

摘要在 QuadFlightFC(STM32F405RGT6)飞控的 DSHOT300 输出设计中,最初采用“”逐位更新 CCR,占用,且因的调用与各通道 CC 触发相位不一致,出现约的通道间相位偏移。为节省 DMA 资源并实现通道,改为“”方案:以为触发,DMA 通过按连续写入的影子寄存器(OCxPE/ARPE 使能),统一装载生效;内存按排列,,尾部追加实现“发完即止”。该实现仅占,可选用 FIFO/INC4 进一步降低总线占用;,四通道位边界完全对齐,无相位差,资源占用与时序一致性显著优于旧方案。

2025-10-15 15:19:20 701

原创 浅谈陀螺仪和加速度计的原理和误差模型

本文分析了MEMS加速度计和陀螺仪的工作原理及误差模型。加速度计通过测量悬挂质量块的惯性力来检测加速度,其主要误差来源包括偏置、尺度因子误差和非正交误差。陀螺仪利用科里奥利力测量角速度,具有相似的误差模型。实测数据显示,ICM-45686传感器的性能指标优异,其中偏置是影响最大的误差项。作者提供了C代码实现零偏校准,并通过MATLAB分析验证了传感器的噪声特性,表明该传感器在补偿偏置后性能良好。文章强调温度会影响零偏,建议进行补偿或恒温控制。

2025-09-16 11:41:43 1034

原创 STM32串口超高速385KB/s接收0丢包的方案

本文面向 STM32 在超高速串口场景,给出一套DMA 双缓冲 + IDLE 中断的接收链路,实现在4M波特率下385 KB/s 连续吞吐0丢包。全文先梳理传统方案的优缺点,指出它们在高波特率和长报文下的瓶颈;随后详细拆解 DMA 双缓冲硬件乒乓的配置要点,并附上针对 常见报文协议到“满带宽数据流”各类负载的实测结果。最后给出迁移与调优建议:块尺寸、中断与应用线程解耦、缓冲区水位管理等。CPU 开销可控、实时性可保证,真正的性能瓶颈将迁移到上层解析与存储,而非 MCU 串口硬件本身。

2025-06-19 17:58:40 1154

原创 STM32实验01-串口2Mbps与x86单向通信

STM32与x86平台2Mbps串口通信实验,采用自定义64字节帧格式(包含帧头、序号、48字节负载和16位校验和)。STM32端使用DMA发送数据帧,x86端用Python脚本实时监控接收质量,统计丢包和校验错误。实验验证了高速串口通信的可靠性,展现了嵌入式系统与PC间的稳定数据传输能力。

2025-06-16 19:34:08 256

原创 STM32笔记09-纯寄存器驱动USART发送

本文介绍了使用纯寄存器方式驱动STM32 USART外设实现串口发送功能。开发环境采用AC6+VScode+EIDE,硬件平台为STM32F411CEU6芯片。文章重点展示了三种发送模式实现:阻塞式、中断式和DMA模式,并详细解析了USART外设配置的关键步骤。

2025-06-16 17:24:19 851

原创 STM32笔记08-QSPI驱动W25Q128模拟U盘

本文介绍了如何在STM32F412RG微控制器上使用QuadSPI外设驱动W25Q128JVSIQ NOR FLASH,并通过USB_DEVICE库实现一个掉电不丢失数据的U盘。

2025-05-14 11:03:11 1873 1

原创 STM32笔记07-用STM32内部SRAM模拟U盘

本文介绍了如何使用ST官方的USB DEVICE库和STM32F405RG的64KB SRAM及USB外设模拟一个64KB的U盘设备,使电脑能够访问。

2025-05-14 10:52:23 1856

原创 STM32笔记06-硬件I2C驱动BMP280读取气压,温度

文章重点记录了作者在学习STM32过程中驱动BMP280气压传感器的经验,包括硬件连接、软件配置和I2C通信的调试过程。并提供了相关代码片段和时序图,帮助读者理解BMP280的驱动实现。

2025-05-14 10:44:54 2331

原创 STM32笔记05-硬件I2C驱动AHT10

本文介绍了如何使用STM32的硬件I2C驱动AHT10温湿度传感器。开发环境为STM32HAL库(不使用CubeMX)+Keil5 AC6+STM32F103C8T6。

2025-05-14 10:35:25 580

原创 STM32笔记04-DWT实现精准定时和时间测量

在某些项目中,可能需要实现微秒级的延时。HAL库的HAL_Delay()和FreeRTOS的非阻塞式延时函数默认只能实现毫秒级延时。为了实现微秒级延时,可以采用DWT(数据观察点单元)延时方案。

2025-05-13 11:47:16 624

原创 STM32学习笔记03-汇编指令1:LDR和ADR指令

书接上回,上篇文章带着我们初次踏入了汇编编程的大门,此文为验证一些常用的汇编指令的第一篇,希望能对计算机运行原理有更好的理解.

2025-05-13 11:41:11 435

原创 STM32学习笔记02-汇编编程初尝试

本文记录了作者使用汇编语言开发STM32的学习过程,旨在深入理解现代单片机的底层架构。

2025-05-13 11:29:33 650

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除