STM32F103 KEIL 标准库直接添加DSP库

2023-05-16

前言

近期由于比赛需要,想要在STM32上移植DSP库进行FFT变换,找了很多资料都是利用CUBEMX进行导入的方法,本人使用的是标准库,对HAL库并不熟悉,所以考虑到移植的方便采用直接在项目文件中移植DSP库的方法,可以使用标准库编程,亲测有效


1.在待移植的工程目录下新建DSPlib文件夹,用以存放DSP的相关文件

blog.csdnimg.cn/291099e0402f46439160e2cf9b92fdd2.png)
在这里插入图片描述

2.在keil安装目录下找到CMSIS文件夹(这个和你的KEIL安装位置有关),进入内部,找到CMSIS\DSP下的include文件夹,将其拷贝到上一步DSPlib文件夹

在这里插入图片描述

3.进入CMSIS\DSP\LIB\ARM文件夹下找到arm_cortexM3l_math.lib文件,拷贝到DSPlib文件夹

在这里插入图片描述

4.拷贝完效果如图

在这里插入图片描述

5.Keil软件的options for target中添加文件路径和关键字ARM_MATH_CM3

ARM_MATH_CM3 // 如果你是F1系列就输入这个,其他型号需要拷贝相对于的内核文件和定义

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.包含头文件:#include "math.h"和#include "arm_math.h"编译一下工程

在这里插入图片描述
编译一下工程,会报错缺少XXX.h,缺失的头文件可在keil安装目录下的CMSIS\Core\Include文件夹下找到,将其复制到之前创建的DSPlib\include文件夹下,完善DSPlib。其中,core_cm3.h文件要加入到DSPlib,如果之前工程有,则需要把原来包含的路径取消掉,如下

在这里插入图片描述
在这里插入图片描述

7.编译没有错误后,选中DSP库

按照下图选中BSP库,并将source改为library
在这里插入图片描述
在这里插入图片描述

8.测试程序代码

float data;//定义一个float型变量
while(1)
{
data=arm_sin_f32(3.1415926/6);//sin(30°),理论值为0.5
printf("数据为%f",data);
delay_ms(1000);
}

此时串口上应打印出0.499999即为移植成功

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32F103 KEIL 标准库直接添加DSP库 的相关文章

随机推荐

  • Springboot项目:后台接收到带英文括号转义的问题

    大多数的情况下的模糊搜索不会出现带括号 xff08 英文下的括号 xff09 的情况 xff0c 很少能遇到下拉选择框中竟然传递的是汉字 xff0c 这样的情况应该是很少甚至基本不会出现的 xff0c 这么小的几率竟然赶上了 xff0c 由
  • 蓝桥杯嵌入式第十四届省赛总结

    我的感受 反正人生就这一次打蓝桥杯 xff0c 不妨写个总结给今后的学弟学妹们作个Present xff01 写博客不忘复习单词 客观题 总会有几个是能做的 虽然不定项得分很低 主观题 一个感受 xff0c 难点在于输入捕获和PWM输出 在
  • hexo博客搭建常用命令

    插入图片语法 span class token operator span span class token punctuation span span class token punctuation span span class tok
  • JS:根据点击图片坐标,截取点击位置部分图片

    从一个完整的大图中截取一小部分出来 xff1a 根据点击坐标获取一个20x20像素的图片 const getScreenShotFromScrcpyVideo 61 x y 61 gt 获取点击图片坐标位置 const x y 61 get
  • 也来谈谈自己做为面试官的面试流程

    1 请对方做个简短的自我介绍 主要考察面试者的表达能力 xff0c 同时也为自己争取点时间看下简历 2 对简历中的疑问点提问 进一步求证 xff0c 获取到准确信息 xff0c 同时也考察简历的真实性 比如有些简历中毕业五年 xff0c 但
  • HTTP请求详解含POST,GET实例

    前言 单纯的copy代码没有用 xff0c 本篇从http请求的基本原理开始为大家讲解 xff0c 后边有实例 xff0c 希望大家一步一步看完 xff0c 这样无论编写什么请求我们都可以得心应手 HTTP的组成 http消息由客户端到服务
  • 卡尔曼滤波,最最容易理解的讲解.找遍网上就这篇看懂了.

    学习卡尔曼滤波看了4天的文章 硬是没看懂 后来找到了下面的文章一下就看懂了 我对卡尔曼滤波的理解 我认为 卡尔曼滤波就是把统计学应用到了滤波算法上 算法的核心思想是 根据当前的仪器 34 测量值 34 和上一刻的 34 预测量 34 和 3
  • 关于C++多态性的一些总结

    在任何一门面向对象的编程语言中 xff0c 多态性 polymorphism 都是非常重要的一个概念 在面向对象的三大元素中 xff0c 封装使代码的模块化变得简单 xff0c 继承则可以扩展已有的代码 xff0c 而多态则是为了满足接口的
  • 关于2048小游戏项目的一些心得

    这是我学习完标C和Unix C以后做的一个小游戏 xff0c 只能支持字符终端界面 在此将其贴出来 xff0c 希望能够跟大家分享一些心得 以下是我当时写的一个项目文档 61 61 61 61 61 61 61 61 61 61 61 61
  • 蓝牙HC-05与Arduino Pro mini实现蓝牙防远离

    因为最近一些工作学习的需要 xff0c 入手了一个Arduino Pro mini来玩一玩 xff0c 于是就做了一个简易的通过蓝牙实现防远离的手环功能 在学习的过程中受过一些指点 xff0c 所以在此将一些学习过程中的经验心得分享出来 x
  • ELF格式与bss段

    ELF Executable Linkable Format 是Linux系统下的一种可执行可链接文件的格式 xff0c 是COFF格式的变种 在Linux系统中包括了可重定位文件 o文件 xff0c 可执行文件 bin bash文件 xf
  • 程序员必备的书籍有哪些?

    程序员必备书籍之史上最全版 xff01 xff01 xff01 动用了周围一切资源 xff0c 请教了腾讯 阿里等多家大咖 xff0c 综合各个专业研究员的学习经验 xff0c 终于整理好这篇文章 xff01 最全 xff01 最全 xff
  • USB主机是如何检测到设备的插入的呢?

    USB设备的插入检测机制 首先 xff0c 在USB集线器的每个下游端口的D 43 和D 上 xff0c 分别接了一个15K欧姆的下拉电阻到地 这样 xff0c 在集线器的端口悬空时 xff0c 就被这两个下拉电阻拉到了低电平 而在USB设
  • 如何在i.mx6dl开发板上移植udev并实现移动设备的自动挂载

    在整个移植过程中 xff0c 我所使用的操作平台 xff1a host xff1a Ubuntu14 04 LTS board xff1a MCIMX6DL SDP udev 版本 xff1a udev100 一 移植udev 下载 ude
  • 飞思卡尔的i.mx6dl开发板上实现nfs网络文件系统挂载操作指南

    问题描述 xff1a 在MCIMX6DL SDP 上实现网络文件挂载 xff0c 要求从emmc 中启动uboot 和kernel xff0c 从网络上挂载根文件系统 操作平台 xff1a host xff1a Ubuntu14 04LTS
  • 如何修改Linux开启进度条的图片

    最近因为工作需要 xff0c 需要将Linux启动时的开机进度条背景修改为公司logo xff0c 并将进度条转换为自己的动画 这里说明一下 xff0c psplash是Linux下的一款开源软件 xff0c 可以在嵌入式产品中显示开机进度
  • 如何修改Linux开机启动logo并使其全屏显示?

    1 制作开机启动logo的图片 my image png 61 61 gt logo linux clut224 ppm 要求图片的分辨率要和屏幕大小一致 使用如下命令 xff1a pngtopnm my image png gt my i
  • 实现JavaScript分片上传大视频到七牛云实例

    https blog csdn net weixin 34228617 article details 93033483
  • Rust嵌入式编程---动态内存分配器(Vec,String等)

    本教程不是0基础的Rust嵌入式编程 xff0c 需要有一定的Rust裸机编程的基础知识 作为一个比较接近C的例子 xff0c 适合入门 xff0c 代码比较容易理解 本次例子使用的是target 61 thumbv8m main none
  • STM32F103 KEIL 标准库直接添加DSP库

    前言 近期由于比赛需要 xff0c 想要在STM32上移植DSP库进行FFT变换 xff0c 找了很多资料都是利用CUBEMX进行导入的方法 xff0c 本人使用的是标准库 xff0c 对HAL库并不熟悉 xff0c 所以考虑到移植的方便采