|
ADC采用定时器1 ADC_ExternalTrigConv_T1_CC3触发,现在迷糊的是ADC预分频依然是有影响,T1设置的频率对ADC的影响不是一定的,它的频率和ADC采用率有啥关系?
只是单纯触发吗?我设定的有些值会对采样率有影响,比如如下代码:
static void TIM1_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
TIM_Cmd(TIM1, DISABLE);
TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
TIM_TimeBaseStructure.TIM_Period = 144000000/3600000 - 1; //
TIM_TimeBaseStructure.TIM_Prescaler =1;
TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //CCER êä3öê1Äü
TIM_OCInitStructure.TIM_Pulse = TIM_TimeBaseStructure.TIM_Period / 2;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
TIM_OC3Init(TIM1, &TIM_OCInitStructure);
TIM_OC3PreloadConfig(TIM1, TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(TIM1, ENABLE);
TIM_Cmd(TIM1, ENABLE);
TIM_CtrlPWMOutputs(TIM1, ENABLE);
}
TIM_TimeBaseStructure.TIM_Period = 144000000/3600000 - 1; 这段代码改36000000和3600000效果一样,当改为360000就不一样了,ADC改预分频系数也会变。
真心请教这个要咋理解,设定触发后ADC采样率受谁影响?咋算? |
|