如何用ADC采样方式来实现对一个正弦波的采样

2019-07-20 23:38发布

我查了一下STM32 有FFT转化的DSP库函数。但是不清楚如何使用,主要有两个问题:
1.ADC初始化之后如何将数据传给pssIn指针。能否如下进行调用。
2.现在代码会在cr4_fft_1024_stm32 阻塞不清楚是什么原因。


请高手帮我看一下。

转换代码
[mw_shl_code=c,true] while(1) { for(i=0;i<1024;i++) { for(j=0;j<10;j++)//采样频率为12M/(252*10)= 4993.2 计4993 { ADC_SoftwareStartConvCmd(ADC1,ENABLE); while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)); adc_value+= ADC_GetConversionValue(ADC1); } // printf("voltage = %f ",3.3*adc_value/(4095*10)); adcin=adc_value/10; adc_value=0; printf("adc value[%d]=%d ",i,adcin); } // delay_ms(1000); // delay_ms(1000); printf("STM32 FFT "); #if 1 /*参数pssOUT表示FFT输出数组指针,参数pssIN表示要进行FFT运算的输入数组指针,参数Nbin表示了点数*/ cr4_fft_1024_stm32(&X_out[0], &adcin[0], 1024); /*将采样数据转换为幅度数据*/ printf("dsp_asm_powerMag "); dsp_asm_powerMag(); delay_ms(1000); #if 0 adcx=10000; while(adcx--); #endif #endif } [/mw_shl_code]

请问可能是什么地方出问题勒
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。