STM32--DSP库使用(2)

建立MDK工程并添加DSP库

这里我的硬件平台选择STM32F407  软件选择的keil5 串口程序选择的XCOM

这里我选择一个key键点亮LED的例程进行进行改编

1.首先添加文件(DSP的库文件)

2.添加头文件路径

STM32--DSP库使用(2)_第1张图片

3.添加宏定义:

STM32--DSP库使用(2)_第2张图片

4.开启FPU

STM32--DSP库使用(2)_第3张图片

另外根据ARM官方DSP库的要求,还需要设置宏__FPU_PRESENT为1,不过这个宏已经在文件 stm32f4xx.h中设置了(为保险起见,建议把__FPU_PRESENT在第三步的地方也加上,因为部分DSP函数会因为没有这个声明而报错)。

STM32--DSP库使用(2)_第4张图片

5.添加头文件arm__math.h

6.简易DSP库函数验证

按下按键key 串口打印函数arm_abs_f32的输出结果

#include "sys.h"
#include "delay.h"  
#include "usart.h"  
#include "led.h"
#include "key.h"
#include "math.h" 
#include "arm_math.h"  

int main(void)
{ 
 	u8 key,t=0;
	float32_t pSrc; 
	float32_t pDst;
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
	delay_init(168);  //初始化延时函数
	uart_init(115200);		//初始化串口波特率为115200
	LED_Init();					//初始化LED
	KEY_Init();					//初始化按键
	
 	while(1)
	{
		key=KEY_Scan(0);
		if(key==WKUP_PRES)
		{		
			pSrc -= 1.23f; 
			arm_abs_f32(&pSrc, &pDst, 1); 
			printf("pDst = %f\r\n", pDst);
				
		}
		else delay_ms(10);
		t++;
		if((t%10)==0)LED1=!LED1;		  
	}
}

STM32--DSP库使用(2)_第5张图片

你可能感兴趣的:(笔记,stm32,学习)