初级会员

- 积分
- 130
- 金钱
- 130
- 注册时间
- 2018-11-15
- 在线时间
- 49 小时
|
1金钱
各位朋友大家好,这是我F411定时器5的初始化函数:
void tim5_init(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE);/*使能定时器时钟*/
/* Time base configuration */
TIM_TimeBaseStructure.TIM_Period = 48; //自动重装载值
TIM_TimeBaseStructure.TIM_Prescaler =TIM_CKD_DIV1; //定时器分频
TIM_TimeBaseStructure.TIM_CounterMode =TIM_CounterMode_Up; //向上计数模式
TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure);
// TIM_ITConfig(TIM5,TIM_IT_Update,DISABLE); //禁止定时器5更新中断
TIM_ARRPreloadConfig(TIM5, ENABLE); //自动重装载寄存器使
TIM_UpdateRequestConfig(TIM5,TIM_UpdateSource_Regular);
TIM_Cmd(TIM5,ENABLE);
TIM_ClearFlag(TIM5, TIM_FLAG_Update); //请标志位
}
在我调试的过程中出现了两个问题:1、在使能定时器的时候 SR寄存器中的值自动置位了??不明白是什么原因
2、而且在调试过程中DMAR的值也发生了改变,而代码中并没有操作该寄存器。
|
|