中级会员
 
- 积分
- 314
- 金钱
- 314
- 注册时间
- 2019-11-12
- 在线时间
- 62 小时
|
10金钱
主函数贴出来,串口显示for循环运行三遍,debug出来也就一遍,没有任何问题,但是就是跑程序的时候会莫名奇妙三遍截图如下
int main(void)
{
arm_cfft_radix4_instance_f32 scfft;
int i,j,fre,maxnum;
float max;
uart_init(115200);
TIM3_Int_Init(1,1);
ADC_INIT();
Adc_Init();
delay_init(168);
arm_cfft_radix4_init_f32(&scfft,1024,0,1);//初始化scfft结构体,设定FFT相关参数
ADC_BUF[0]=ADC_BUF[1];
for(i=0;i<1024;i++)
{
input[2*i]=(float)ADC_BUF-2047;
input[2*i+1]=0;//虚部全部为0
}
arm_cfft_radix4_f32(&scfft,input); //FFT计算(基4)
delay_ms(50);
arm_cmplx_mag_f32(input,output,1024); //把运算结果复数求模得幅值
for(i=1;i<1024;i++)
{
if(output>max)
{
maxnum=i;
max=output;
}
}
fre=10000*(maxnum)/1024;
for(i=1;i<1024;i++)
{
printf("%d ",fre);
}
for(i=0;i<5;i++)
{
printf("-------------------------分割线------------------------");
}
}
|
|