stm32高级定时器TIM1,更新中断初始化配置和普通定时器差别不大,需要注意的是结构IM_TimeBaseInitTypeDef中TIM_RepetitionCounter配置问题。TIM_RepetitionCounte是用来配置重复计数,就是重复溢出多少次才给你来一个溢出中断,只有高级定时器需要配置。下面是官方库中对它的注释:
它对应的寄存器叫TIM1_RCR.如果这个值不配置,上电的时候寄存器值可是随机的,本来1秒中断一次,可能变成N 秒中断一次。下图是stm32参考手册中对该寄存器的详细解释:
总结一下高级定时器溢出中断配置的步骤:
1,时钟使能
2,配置预分频、自动重装值和重复计数值
3,清除中断标志位(否则会先进一次中断)
4,使能TIM中断,选择中断源
5,设置中断优先级
6,使能TIMx外设
下面附上我用库函数写的TIM1溢出中断配置程序代码:
//arr:自动重装值。
//psc:时钟预分频数
void Timer1_Init(u16 arr,u16 psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //时钟使能
TIM_TimeBaseStructure.TIM_Period = arr; //设置自动重装载寄存器周期值
TIM_TimeBaseStructure.TIM_Prescaler =(psc-1);//设置预分频值
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上计数模式
TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;//重复计数设置
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //参数初始化
TIM_ClearFlag(TIM1, TIM_FLAG_Update);//清中断标志位
TIM_ITConfig( //使能或者失能指定的TIM中断
TIM1, //TIM1
TIM_IT_Update | //TIM 更新中断源
TIM_IT_Trigger, //TIM 触发中断源
ENABLE //使能
);
//设置优先级
NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//先占优先级0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //从优先级0级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
TIM_Cmd(TIM1, ENABLE); //使能TIMx外设
}
void TIM1_UP_IRQHandler(void)
{
if (TIM_GetITStatus(TIM1, TIM_IT_Update) != RESET)//检查指定的TIM中断发生与否:TIM 中断源
{
TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除TIMx的中断待处理位:TIM 中断源
/***************在此处添加中断执行内容******************/
}
}
上一篇:STM32学习笔记——AFIO时钟的配置问题
下一篇:STM32F103:什么时候需要复用IO(AFIO)
推荐阅读最新更新时间:2024-11-16 21:10
设计资源 培训 开发板 精华推荐
- TAR5S26U 点稳压器(低压差稳压器)的典型应用
- 使用 Analog Devices 的 LT1764AEFE-3.3 的参考设计
- KIT33912EVME,用于 MC33912 SBC、直流电机预驱动器的评估套件
- #第七届立创电赛#USB功率计设计
- 具有误差放大器斜率补偿的 LT124XMJ8 高速电流模式脉宽调制器的典型应用电路
- 三色墨水屏日历
- 具有短路保护功能的 MC78M12ABDTG 12V 电流提升的典型应用
- TCR5SB42、200mA、4.2V 输出电压 CMOS 低压降稳压器的典型应用
- STEVAL-MKI168V1,用于标准 DIL24 插座的 IIS2DH 适配器板
- GPU-PW-01
- 直播已结束【英飞凌智能门锁解决方案】
- 有奖直播|基于Source-down技术的全新英飞凌MOSFET,有效提升功率密度,肉眼可见
- ADI 全新中文资料(2019 年 11 月)
- 【赠书100%有礼】一本书教你如何开发测试系统,深入了解数据采集系统
- 知否知否 应是更多汽车方案
- Digi-key干货视频教程来袭,意见领袖讲解疑难设计问题,带你突破成长瓶颈~
- 泰克移动多媒体总线系列专题来袭~《HDMI2.0规范测试方案》下载有礼!
- 【EEWORLD第三十九届】2012年06月社区明星人物揭晓!
- 罗姆有奖直播报名中!解决电源IC困扰的ROHM先进电源技术Nano系列
- ADI有奖下载活动之14 ADI公司针对pH计和电导率仪的演示系统