该文部分转自STM32CubeIDE下使能STM32F4的FPU同时调用DSP库计算正弦函数
背景
使用STM32L4系列MCU实现对交流信号的采集和计算(幅值、相位等)。看到论坛有人使用arm-DSP库函数效率很高,特写此文,将配置过程写出来。
1环境
Windows 10 + STM32cubeIDE1.3.0 + STM32Cube_FW_L4_V1.15.1 + 开发板
2 cubeIDE生成驱动
具体配置根据每个人不同需求自行配置,此处不再赘述,重点描述关于arm-DSP库加载和导入
3、arm-DSP库配置和导入
3.1lib库导入
路径如下:Repository\STM32Cube_FW_L4_V1.15.1\Drivers\CMSIS\Lib\ARM
直接拖拽至工程.ioc同级目录即可
3.2 头文件
路径:Repository\STM32Cube_FW_L4_V1.15.1\Drivers\CMSIS\DSP\Include
直接拖拽至工程include目录下即可
3.3 源文件
路径:Repository\STM32Cube_FW_L4_V1.15.1\Drivers\CMSIS\DSP\Source
直接拖拽至工程src目录下即可
4、IDE配置
进入工程属性设置
按照下图增加4个宏定义:
__FPU_PRESENT,且数值1
__FPU_USED,且数值1
__TARGET_FPU_VFP
ARM_MATH_CM4
头文件单纯拖拽至工程,编译会报错,需要手动添加头文件目录
5、使用库函数
5.1声明头文件
在需要使用库函数计算的文件头部声明
#include “math.h”
#include “arm_math.h”
5.2计算幅值
利用arm-DSP库进行FFT计算,获得信号的频谱、幅值及相位(下)
最后,可以移步我的另一个帖子,arm-dsp库导入有更简单的办法。
https://blog.csdn.net/u013611408/article/details/121015489