新手入门
- 积分
- 9
- 金钱
- 9
- 注册时间
- 2020-6-30
- 在线时间
- 1 小时
|
请问原子哥和广大网友,在做DSP FFT运行时间测试时,我发现统计时间有数量级的差异,请大家找找问题所在
原子哥例程段:
TIM3->CNT=0;//重设TIM3定时器的计数器值
timeout=0;
arm_cfft_radix4_f32(&scfft,fft_inputbuf); //FFT计算(基4)
time=TIM3->CNT+(u32)timeout*65536; //计算所用时间
sprintf((char*)buf,"%0.3fms\r\n",time/1000);
LCD_ShowString(30+12*8,160,100,16,16,buf); //显示运行时间
自己的程序段:
TIM3->CNT=0;//重设TIM3定时器的计数器值
timeout=0;//溢出清零
TIM3->CR1|=0x01; //使能定时器3
arm_cfft_radix4_f32(&scfft,fft_inputbuf); //FFT计算(基4)
TIM3->CR1&=0xFE; //关闭定时器3
time=TIM3->CNT+(u32)timeout*65536; //计算所用时间
sprintf((char*)buf,"%0.3fms\r\n",time/1000);
LCD_ShowString16(0,160,buf);//显示字符串
另有区别,是我的定时器初始化时是,停止计数的,FFT运行前开启,运行完后关闭,然后统计时间。最后区别:原子哥时间:0.584ms 我的时间:46.612ms(我的主频稍高,216M)
|
|