我使用STM32F1的ADC1采集10路ADC数据,使用TIM触发采集。每次触发采集把每个通道采集一遍,现在比较疑惑的是每次采一遍这个ADC通道与通道之间的间隔是怎么计算的呢,可以看做同时采样逐个转换的吗? ADC_InitTypeDef ADC_InitStructure;//定义ADC初始化结构体变量 RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); RCC_ADCCLKConfig(RCC_PCLK2_Div6);//12M ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//ADC1和ADC2工作在独立模式 ADC_InitStructure.ADC_ScanConvMode = ENABLE; //使能扫描 ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//ADC转换工作在连续模式 ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T2_CC2;//有软件控制转换 ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Left;//转换数据左对齐 ADC_InitStructure.ADC_NbrOfChannel = 12;//10;//转换通道为通道1 ADC_Init(ADC1, &ADC_InitStructure); //初始化ADC ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_41Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_41Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 3, ADC_SampleTime_41Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_3, 4, ADC_SampleTime_41Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_4, 5, ADC_SampleTime_41Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_5, 6, ADC_SampleTime_41Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_6, 7, ADC_SampleTime_41Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_7, 8, ADC_SampleTime_41Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_8, 9, ADC_SampleTime_41Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_9, 10, ADC_SampleTime_41Cycles5); |
除非硬件上有干扰存在,才需要增加间隔时间。
评分
查看全部评分
评分
查看全部评分
独立ADC采样之间应该没有间隔,同一个ADC采用通道听到采用需要满足逐次逼近ADC的最小采样间隔。
评分
查看全部评分