STM32移植DSP库详细步骤

文章描述了在keil项目中配置DSP库的步骤,包括将库文件放入项目目录,管理项目选项添加依赖,设置C/C++选项定义,添加头文件路径,并启用CMSIS-DSP。遇到的问题是由于之前项目配置为ARM_MATH_CM4,导致冲突,通过删除不必要的声明并替换core_cm3.h文件,成功解决了问题,使程序正常运行。
摘要由CSDN通过智能技术生成

        先将下载的DSP库文件放到需要的项目目录下。

        

        随后打开keil项目进入配置。右键项目名称,点击管理项目选项;创建一个DSP文件添加依赖后点击OK。

 

         点击小魔术棒,点击C/C++选项,在Define中添加ARM_MATH_CM3,然后添加DSP的.c和.h文件路径,需要添加DSPLIB和其中的Include两个路径点击完成。

 

 

         点击小绿块,点击CMSIS,将DSP勾选上。

      将项目中原有的core_cm3.h文件删除,替换成新的文件,重新加载项目,至此就完成啦。

   我遇到需要注意的地方是,当文件使用DSP库时加载的是core_cm4.h而不是core_cm3.h,并且项目之前用的是core_cm3,所以当时出现了一些问题,后来查找时发现我的C/C++的Define中,在ARM_MATH_CM3声明前声明了ARM_MATH_CM4,删掉后正常加载了更新后的cm3文件,程序正常运行。

 

 

移植DSPSTM32F103的方法可以采用直接在项目文件中移植的方式。首先,在待移植的工程目录下新建一个DSPlib文件夹,用于存放DSP的相关文件。然后,将需要的DSP文件添加到DSPlib文件夹中。接下来,按照需要使用的DSP函数的方式进行调用。例如,如果需要使用arm_sin_f32函数计算正弦值,可以在主循环中添加以下代码: ```c float data; // 定义一个float型变量 while(1) { data = arm_sin_f32(3.1415926/6); // sin(30°),理论值为0.5 printf("数据为%f", data); delay_ms(1000); } ``` 这段代码会不断计算正弦值并打印出来。请确保已经正确包含了DSP的头文件,并且在编译时链接了相应的文件。这样就可以在STM32F103上成功移植DSP并使用了。\[2\]\[3\] #### 引用[.reference_title] - *1* [STM32F103,DSP移植笔记,希望后来人能少踩些坑](https://blog.csdn.net/weixin_43824231/article/details/118712076)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [STM32F103 KEIL 标准直接添加DSP](https://blog.csdn.net/physicsexpert/article/details/125836181)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值