STM32在中断里面采样,提高中断频率采样率却没有提高

2019-03-23 15:41发布

TIM3_Int_Init(4,71);中断频率设定

void TIM3_IRQHandler(void)   //TIM3ÖD¶Ï
{
        if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //¼ì2éÖ¸¶¨μÄTIMÖD¶Ï·¢éúóë·ñ:TIM ÖD¶ÏÔ′
                {
               
               
                TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );
                        vol=ADC_ConvertedValue[0];       
                        volp=ADC_ConvertedValue[1];
                        flag=1;
                }               
       
}中断



        RCC_ADCCLKConfig(RCC_PCLK2_Div6);
ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_1Cycles5);
        ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_1Cycles5);  ADC设定




        while(1)
        {
               
                if(flag==1)
                {
                        if(adccount<200)
                        {
                        dacval +=vol;
                dacval1 +=volp;       
                        adccount++;
                        }
                        else
                        {
                                DisplayCurve1(dacval1,dacval);
                                 adccount=0;
                                dacval=0;       
                         dacval1=0;
                        }
               
                        flag=0;
          }
                       
        }        主函数

波特率为115200

我设定TIM3_Int_Init(4,71)时,中断频率为200k,理论上采样率也应该为200k,那我采样10s通过串口应该可以得到每组10000个数据点,然而实际上确实每路大概为5000个数据点。当我把TIM3_Int_Init(4,35)时,每路数据量通过串口查看没有什么变化大概为5000个,而当我把TIM3_Int_Init(4,143)时,每路数据大概下降一半为2500个点,我的ADC转换时间为14/12M=1.167us,双路ADC那也占用2.3us,而TIM3_Int_Init(4,35)时中断溢出时间为2.5us,TIM3_Int_Init(4,71)时中断溢出时间为5us,TIM3_Int_Init(4,143)时中断溢出时间为10us,时间应该是完全足够的啊,有人遇到过这种情况吗?实在是不知道问题出现在哪里了。

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
29447945
1楼-- · 2019-03-23 23:41
/ 看你定时器的中断,只是中断读数而已!
Li_Lei
2楼-- · 2019-03-24 04:32
本帖最后由 huo_hu 于 2018-7-30 11:19 编辑

没看到你ADC怎么操作的,你如何保证定时器和ADC是同步的呢?
程序结构有问题,直接在定时器中断里软触发就行,触发前做数据处理.

一周热门 更多>