中级会员
 
- 积分
- 472
- 金钱
- 472
- 注册时间
- 2014-2-24
- 在线时间
- 101 小时
|
1金钱
请教下大神,tim3的时钟是36mhz还是72mhz,
在测试时无论如何时钟重载值,结果计数结果都对,但AD转换不对。
如下:
TIM_TimeBaseStructure.TIM_Period = 11249 ;//36MHZ
TIM_TimeBaseStructure.TIM_Period = 22499 ;//72MHZ
这两个数,用哪个计时都对,但定时转换AD结果不对,
按11249配置,64点AD转换可在1周期内完成,但结果错误
按22499配置,64点AD要超过1个周期,但结果正确。
//定时触发AD转换
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_DeInit(TIM3);//复位定时器3
TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
TIM_TimeBaseStructure.TIM_Period = 11249 ;//22499
TIM_TimeBaseStructure.TIM_Prescaler = 0;//予分频 时钟预分频+1
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;//倍频系数
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up ;//TIM_CounterMode_Down;//计数方向
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
TIM_ARRPreloadConfig(TIM3,ENABLE); //允许重装 TIM_Period
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//允许更新中断
//TIM_UpdateDisableConfig(TIM3,ENABLE); //使能或者失能TIMx更新事件
TIM_SelectOutputTrigger(TIM3,TIM_TRGOSource_Update);//更新输出 trgo
TIM_ClearFlag(TIM3, TIM_FLAG_Update); //TIM_FLAG_Trigger //触发标志 TIM_FLAG_Update//更新标志
|
|