OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3024|回复: 2

主函数中for循环运行了三遍的疑惑

[复制链接]

33

主题

88

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
314
金钱
314
注册时间
2019-11-12
在线时间
62 小时
发表于 2020-4-2 18:26:50 | 显示全部楼层 |阅读模式
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("-------------------------分割线------------------------");
}
}

捕获.PNG

最佳答案

查看完整内容[请看2#楼]

在main函数最后加一个while(1)
冲冲冲!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5137
金钱
5137
注册时间
2014-8-26
在线时间
1316 小时
发表于 2020-4-2 18:26:51 | 显示全部楼层
在main函数最后加一个while(1)
回复

使用道具 举报

33

主题

88

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
314
金钱
314
注册时间
2019-11-12
在线时间
62 小时
 楼主| 发表于 2020-4-3 09:22:54 | 显示全部楼层
login_FAE 发表于 2020-4-2 18:26
在main函数最后加一个while(1)

谢谢,请问原因是什么呢?
而且他第一遍打零,显然没有运行我前面的采样,又是为什么呢?
冲冲冲!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-2 22:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表