干货连载编译器强大的库函数你了解多少——高数计算不用愁

Posted 周立功单片机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了干货连载编译器强大的库函数你了解多少——高数计算不用愁相关的知识,希望对你有一定的参考价值。

对于一些矢量计算的场合,你是如何计算两个矢量的加减乘除的?对于多项式处理的程序代码当中,你是如何处理矩阵的变换呢?在音频处理的控制场合,你是如何编写FFT(快速傅里叶算法)的?


即使对数学和计算机算法特别了解,程序猿们处理这些问题的时候几乎都是一脸懵B的表情,更不用说广大的码农阶级了。当然现在网络发达,这些算法多多少少可以在网上找到,但毕竟是广大网友写得,效率和稳定性是在不敢恭维,更何况代码毕竟不是自己写得,用的时候也并不是那么得心应手。


在这个网络发展迅速、电子行业突飞猛进,学单片机跟学一个玩具似的的社会主义初级阶段,有没有不用自己编写、既稳定又好用的DSP算法库可以供自己使用呢?


那必须有啊,就在我们常用的编译器里边。


【干货连载】编译器强大的库函数你了解多少(3)——高数计算不用愁


说起来年轻的MCU工程师用得第一款编译器差不多都是Keil,其实Keil是一个很强大的编译工具,只不过很多人不知道罢了。在Keil 5的安装目录,打开

“Keil_v5\ARM\Pack\ARM\CMSIS\4.3.0\CMSIS”

目录下的index.html文件,就会弹出一个网页,里边就有DSP相关的函数介绍。仔细翻一下目录你就会发现里边有很多高档的算法,例如:


1. 基本的浮点适量运算(Basic Math Functions);

2. 快速的浮点正弦和开方运算(Fast Math Functions);

3. 复数浮点运算(Complex Math Functions);

4. 滤波算法(Filtering Functions);

5. 矩阵运算(Matrix Functions);

6. 复变函数运算(Transform Functions);

7. 自动化控制函数(Controller Functions);

8. 统计函数(Statistics Functions);

9. 插值函数(Interpolation Functions);

10. 其他函数支持(Support Functions)。


【干货连载】编译器强大的库函数你了解多少(3)——高数计算不用愁


其中关于DSP的函数每一个都有对应的函数详解,用户在使用的时候只要仔细阅读帮助文档里边的内容基本上会用里边的函数。


如何使用编译器的DSP库呢:


1

打开一个工程,在Project里边新建一个文件夹,把“Keil_v5\ARM\Pack\ARM\CMSIS\4.3.0\CMSIS\Lib\ARM”目录里边对应“.lib”文件导入到工程里边,例如,M0系列的MCU可调用“arm_cortexM0l_math.lib”这个Lib文件;


【干货连载】编译器强大的库函数你了解多少(3)——高数计算不用愁

2

打开“Options for Target”界面,在“C/C++窗口上”,在“Define”上写入“ARM_MATH_CM0”的宏定义;

把“Keil_v5\ARM\Pack\ARM\CMSIS\4.3.0\CMSIS\Include”目录下的头文件路径导入到工程里边;


【干货连载】编译器强大的库函数你了解多少(3)——高数计算不用愁

3

在c文件开头调用应用头文件arm_math.h即可在当前的文件里边使用DSP运算函数了。


通过调用编译器自带的DSP函数库,即使你对计算机算法一窍不通,也能做出很高大上的程序出来,特别是在自动控制领域里边,能够做到事半功倍的效果。


至此,《编译器强大的库函数你了解多少》系列到此结束,写这个系列的文章最主要的目的是引导各位程序猿多研究一下编译器,没准在什么时候就能找到特别牛的用法,从而让你的编程生涯更加丰富多彩。




还有一点点

作者有话说

啥也不说了

看图

【干货连载】编译器强大的库函数你了解多少(3)——高数计算不用愁

【干货连载】编译器强大的库函数你了解多少(3)——高数计算不用愁

往期好文推荐

【干货连载】编译器强大的库函数你了解多少(3)——高数计算不用愁



【干货连载】编译器强大的库函数你了解多少(3)——高数计算不用愁
【干货连载】编译器强大的库函数你了解多少(3)——高数计算不用愁

广州周立功单片机科技有限公司

【干货连载】编译器强大的库函数你了解多少(3)——高数计算不用愁
【干货连载】编译器强大的库函数你了解多少(3)——高数计算不用愁

zlg.sales@zlgmcu.com

【干货连载】编译器强大的库函数你了解多少(3)——高数计算不用愁

400 888 2705

www.zlgmcu.com

点击

写留言

与小编沟通

以上是关于干货连载编译器强大的库函数你了解多少——高数计算不用愁的主要内容,如果未能解决你的问题,请参考以下文章

干货连载编译器强大的库函数你了解多少——把犀利功能用在MCU上

干货合集 | 关于制品库,你了解多少?

实用干货 | iPhone 隐藏功能被扒出,十分强大!

多少要了解的python库,你知道多少???

连载(学了这么多年C语言,你真的了解static关键词吗)乐创DIY C语言讲义​——4.4节

杭州黑马java培训多少钱,干货满满