cubeMX+CLion开发STM32,添加DSP库

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

前段时间看了改用CLion做STM32的开发,使用cubeMX添加DSP库,生成项目后编译报错undefined reference to `arm_sin_f32',参考了很多文章都是用的keil,关于Clion的很少


一、使用cubeMX创建工程并添加DSP库

打开Software Packs选择Select Components

61452e01b75343859427bf8390821ce1.png

选择DSP Library

87db0248c03a4784b9f468d8dbf354cc.png

下载并勾选

8ecf4a3ff1484e95bdddf1f0721340d2.png

点击OK退出

完成其他相关配置,点击GENERATE CODE生成代码

二、使用步骤

1.打开Clion

查看对应的库文件

d4d02e3315d5421799761c26a48b7859.png

2.修改CMakeLists.txt

在add_executable 之前添加如下代码,具体参数和路径根据情况修改,这里我用的是stm32f103c8t6,cubeMX生成的默认目录结构


#DSP
add_definitions(-DARM_MATH_CM3 -DARM_MATH_MATRIX_CHECK -DARM_MATH_ROUNDING)
include_directories("Middlewares/ST/ARM/DSP/Inc")
link_directories(Middlewares/ST/ARM/DSP/Lib)
link_libraries(libarm_cortexM3l_math.a)

5bd90940835a4421890e2ced6aaa2895.png

最后简单用串口测试一下:

while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
      float data;
      data = arm_sin_f32(3.1415926/6);
      printf("正弦值为%.2f",data);
  }
  /* USER CODE END 3 */
}

26446c4119514b7a9d35fc7e4ec63421.png


总结

DSP库支持的计算类别包括:

基本数学函数,包括:向量的绝对值,加减乘除,位与,点乘,或,异或等
快速数学函数,包括:平方根,余弦,正弦
复杂的数学函数,包括:共轭,点乘,复数,复数平方,乘方,实数乘法
滤波功能,包括:FIR IIR LMS 等
矩阵函数,包括:矩阵的加法、转置、乘法、逆等
变换功能,包括:FFT 
电机控制功能,包括:PID、Clarke、正余弦变换等
统计功能,包括:最大、平均、方差、标准差、均方根等
支持功能,包括:排序、填充、插值、转换等
插值功能,包括:线性插值、双线性插值等
支持向量机功能(SVM),包括:SVM
贝叶斯分类器功能,包括:贝叶斯估计
距离计算功能,包括:常见的距离计算,如欧式距离,余弦距离等
 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值