嵌入式程序设计
文章平均质量分 96
记录一些嵌入式程序设计
电子宁采臣
3811
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于STM32进行FFT滤波并计算插值DA输出
本项目基于 STM32H743VIT6 实现 AD 采样信号的快速傅里叶变换(FFT),提取 100Hz 三角波的频谱信息,并通过滤波及逆傅里叶变换(IFFT)还原基波正弦波,最终使用 DA 输出至示波器。AD 采样触发频率为 1280Hz,FFT 采用 128 点计算,频率分辨率为 10Hz,满足信号处理需求。为了保证数据处理的实时性,采用双缓存(Ping-Pong Buffering)机制,使得 ADC 采样、FFT 计算、IFFT 处理及 DAC 输出并行进行。项目基于 STM32CubeMX 进行原创 2025-03-22 19:03:28 · 3037 阅读 · 1 评论
-
STM32H7利用片上DAC加DMA双缓冲实现DDS
这文章探讨了基于STM32H7和LL库的DDS(Direct Digital Synthesizer)的实现。介绍了DDS的原理,聚焦于频率控制和相位控制,呈现了核心代码和程序实现。特别地,文章展示了如何使用Matlab生成波表数组,并在STM32中配置DDS对象。通过串口输出和实际波形效果,解释了DDS主频对精度的影响。原创 2024-01-13 00:51:31 · 3656 阅读 · 0 评论 -
STM32H7解决DMA伪双缓存中的出现Cache问题
本文介绍了在STM32H7中使用DMA进行伪双缓存时可能出现的Cache问题,并提出了解决方案。首先,文章概述了Cache的基本原理,包括时间局部性和空间局部性。接着,详细讨论了STM32H7中的Cache和MPU配置,以及四种Cache策略的应用场景。其次,文章解释了DMA双缓存的原理,强调了采用环形FIFO数据类型来解决ADC数据存放问题的必要性。最后,通过CubeMX配置和核心代码实现的部分,展示了如何在STM32H7中配置Cache和MPU,以及实现环形FIFO和双缓存的核心代码。原创 2024-01-11 21:25:27 · 6698 阅读 · 0 评论 -
记录STMH7使用LL库查询方式发送SPI的坑
主要记录了在使用STM32的LL库驱动SPI时遇到的问题以及解决方法。首先在官方Demo中找到了关于LL库的SPI发送部分的启发,并在手册中查找相关信息。作者对EOT和TXP事件进行了了解,并深入研究了SPI的配置方法,包括对CR2寄存器的操作和使能SPI的步骤。在了解了HAL库的SPI传输方式后,仿照HAL库完成了LL库SPI查询方式的编写,简化了分支情况。原创 2024-01-13 16:10:35 · 3919 阅读 · 4 评论 -
STM32内存管理方法
warning: 'at' attribute directive ignored [-Wattributes]的解决内存管理,是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。在我们学习C语言的时候,有学习到malloc和free,一般情况下,C程序使用malloc()在堆上分配内存,free()释放内存。malloc工作原理malloc函数分配的内存是在堆(heap)上的。原创 2023-01-08 23:03:43 · 3323 阅读 · 2 评论
分享