stm32 高级定时器tim1和普通定时器tim2的问题,很不理解
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/25 01:40:53
stm32 高级定时器tim1和普通定时器tim2的问题,很不理解
本人写了一个很简单的stm32 的 普通定时器 tim2 的中断程序,实现1秒定时,通过中断来实现闪灯.但是当我把程序里的所有tim2换成tim1,也就是变成高级定时器定时,程序其他的全都没改,可是发现中断的速度由1秒变成了20多秒,为什么呢,不理解啊.tim1的时钟和tim2的时钟设置的都是 72M啊.为什么tim1就变慢了呢
配置函数如下:
void nvic_ready()
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void tim2_ready()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_TimeBaseStructure.TIM_Period = 9999;
TIM_TimeBaseStructure.TIM_Prescaler = 7199;
TIM_TimeBaseStructure.TIM_ClockDivision = 0 ;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, & TIM_TimeBaseStructure);
TIM_ClearITPendingBit(TIM2, TIM_FLAG_Update);
TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);
TIM_Cmd(TIM2,ENABLE);
}
中断程序也改成tim1的了,但是程序内容都没变
本人写了一个很简单的stm32 的 普通定时器 tim2 的中断程序,实现1秒定时,通过中断来实现闪灯.但是当我把程序里的所有tim2换成tim1,也就是变成高级定时器定时,程序其他的全都没改,可是发现中断的速度由1秒变成了20多秒,为什么呢,不理解啊.tim1的时钟和tim2的时钟设置的都是 72M啊.为什么tim1就变慢了呢
配置函数如下:
void nvic_ready()
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void tim2_ready()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_TimeBaseStructure.TIM_Period = 9999;
TIM_TimeBaseStructure.TIM_Prescaler = 7199;
TIM_TimeBaseStructure.TIM_ClockDivision = 0 ;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, & TIM_TimeBaseStructure);
TIM_ClearITPendingBit(TIM2, TIM_FLAG_Update);
TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);
TIM_Cmd(TIM2,ENABLE);
}
中断程序也改成tim1的了,但是程序内容都没变
系统中TIM2时钟用的是APB1,TIM1用的是APB2,APB1限定速度在36MHz,APB2速度可以达到72MHz,在时钟配置上可以看下,TIM1是高级定时器,比TIM2的普通定时器要复杂一些,你可以在看下库例程中,对TIM1中的配置有何不同,感觉不会错这么多
ne555定时器用作定时器的电路图
请问STM32定时器中的时钟分割有何用?应如何判断选择多少的时钟分割值?
电暖器的定时器功率是多少
功放机上的英文解释EQ TIM1 TIM2 TIM3 TIM4 SURR K-OK TAPE AUX TONE DELA
关于MSP430定时器A,懂的进
基于51单片机的定时器设计
基于555定时器的Multism12 设计电路图
555定时器的简单定时电路
555定时器连接的多谐振荡器发烫,急!
数字定时器设计基本要求:60分可以定时显示现在定时的时间高级要求:40分可以倒记时
使用定时器来做延时,变量定义在主函数还是中断函数?定时器做的延时和延时函数的差别
美的电压力锅定时器内阻值多少,发热线圈和定时器线圈串联在i220V上,不加热,如何解决,谢谢