标题:
stm32音乐频谱源程序
[打印本页]
作者:
ltt123456
时间:
2021-3-3 16:21
标题:
stm32音乐频谱源程序
stm32+3.2寸屏显示音乐频谱!
#include "stm32f10x.h"
#include "./lcd/bsp_ili9341_lcd.h"
#include "./usart/bsp_usart.h"
#include <stdio.h>
#include "fft.h"
#include "timer.h"
#include "adc.h"
#include "bsp_led.h"
#include "bsp_SysTick.h"
#include "set.h"
#include "./key/bsp_key.h"
u16 count;
u32 voltage_val[256];
extern float32_t InputData[512];//输入复数数据
extern float32_t OutputData[256];//输出复数数据
extern float32_t maxValue;//存储变换后的最大值
uint16_t point[128]={0};
uint16_t lcd_w = 0;
uint16_t color_mode = 0;
extern u32 time_us;
/**
* @brief 主函数
* @param 无
* @retval 无
*/
int main ( void )
{
int i = 0;
lcd_w = 2;
color_mode = 1;
ILI9341_Init(); //LCD 初始化
USART_Config();
SysTick_Init();
time_us = 0;
ILI9341_GramScan ( 1 );
LCD_SetFont(&Font8x16);
LCD_SetColors(RED,BLACK);
ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,显示全黑 */
LED_GPIO_Config();
Key_GPIO_Config();
Adc_Init();
TIM2_Int_Init(4,359);//200kHz计数频率,40kHz中断频率(采样频率)
while ( 1 )
{
if(count == 256)
{
TIM_ITConfig(TIM2,TIM_IT_Update,DISABLE );//关定时器中断
//LED2_TOGGLE;
count = 0;
if(KEY_ON == Key_Scan(KEY1_GPIO_PORT,KEY1_GPIO_PIN))
{
lcd_w++;
lcd_w %= 5;
lcd_w++;
}
if(KEY_ON == Key_Scan(KEY2_GPIO_PORT,KEY2_GPIO_PIN))
{
color_mode++;
color_mode %= 3;
}
for(i=0;i<256;i++)//装载256点复数数据
{
InputData[i*2]=(float)voltage_val[i];//实部
InputData[i*2+1]=0.0;//虚部
}
if(DO_FFT())
{
for(i=0;i < 300/(lcd_w+1);i++)
{
uint32_t temp = (u32)OutputData[i+1]/30;
if(temp >= point[i])
{
if(temp >= 239)
{
point[i] = 239;
}
else
{
point[i] = temp;
}
}
else
{
if(point[i] >= lcd_w )
{
point[i]-=lcd_w;
}
else
{
point[i] = 0;
}
}
set_color(temp);
if(lcd_w != 1)
{
m_line(i,temp);
}
else
{
ILI9341_OpenWindow ( (lcd_w + 1)*i, 0, (lcd_w+1), LCD_Y_LENGTH );
ILI9341_FillColor ( (lcd_w + 1) * LCD_Y_LENGTH, BLACK );
}
m_point(i,point[i]);
}
}
SysTick_Delay_Ms(60);
TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE );//开定时器中断
}
}
}
复制代码
project.7z
2021-3-4 15:05 上传
点击文件名下载附件
下载积分: 黑币 -5
223.98 KB, 下载次数: 19, 下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1