stm32能否在定时器中断中修改定时器重装值?
回答:可以的。
因为我是用的库函数,所以我下面粘贴一段自己写过的定时器的程序:
void tim2_cfg(void)
{
/**************** TIM配置 ****************/
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
TIM_DeInit(TIM2);
TIM_InternalClockConfig(TIM2);
TIM_TimeBaseStructure.TIM_Prescaler
72; //预分频系数为72,这样计数器时钟为72MHz/72
1MHz
TIM_TimeBaseStructure.TIM_ClockDivision
TIM_CKD_DIV1; //设置时钟分割
TIM_TimeBaseStructure.TIM_CounterMode
TIM_CounterMode_Up; //设置计数器模式为向上计数模式
TIM_TimeBaseStructure.TIM_Period
1000; //-1; //设置计数溢出大小,每计1000个数就产生一个更新事件
TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure); //将配置应用到TIM2中
TIM_ARRPreloadConfig(TIM2, DISABLE); //禁止ARR预装载缓冲器
TIM_Cmd(TIM2, ENABLE); //使能TIMx外设
}
里面设置技术溢出大小那一句,就是设置装载值