历史上的今天
今天是:2025年04月23日(星期三)
2018年04月23日 | STM32学习笔记——高级定时器TIM1更新中断配置
2018-04-23 来源:eefocus
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 中断源
/***************在此处添加中断执行内容******************/
}
}
史海拾趣
|
12月27日消息,搜狐论坛中昨日曝出重磅消息,称北京网通ADSL 4M宽带明日将开通,包月费为258元/月,包年优惠价为2580元。搜狐IT经向北京网通相关部门求证,此消息无误。 北京网通相关人士称,此次ADSL升级原本计划于本月25日圣诞节推出,与之 ...… 查看全部问答> |
|
关于直插LED与SMDLED和大功率LED的投资分析 因近段时间有很多朋友问关于投资以上三类型的LED,个人仅发表一些看法: 1.直插LED投资发展最快的几年是在02年至05年(相信这时候开厂的已经赚的盆满钵满了);凡有钱的都做直插的LED了,并且现在有很 ...… 查看全部问答> |
|
公司安排编译linphone 3.2.0 !编译了很多天很多天,终于通过了,但是和PC连的时候听不到声音,但是拨号的时候又响铃的声音!在终端下启动看到有问题报出 ALSA lib conf.c:3949:(snd_config_expand) Unknown parameters 0 ALSA lib pcm.c:2145: ...… 查看全部问答> |
|
在网上有下了《51+sl811读写U盘的源程序+原理图》的原代码,但找不到原理图,请问哪位大哥有可以寄一份给我,或告知下载地址。谢谢! 我邮箱是: power_wjc@163.com… 查看全部问答> |
|
傅里叶变换在国内的教材上一向就是一堆公式,真正需要用的时候,发现自己其实根本不懂。晚上查看FFT的文章的时候,偶然看到了这样一篇关于FFT很好的文章。转过来跟大家分享下,特别适合对傅氏变换一知半解的情况。文章是我从一个博客上转成PDF的, ...… 查看全部问答> |
|
我们在DIY遥控坦克时候尝试了不同颜色,大家看看哪个更好看哦 透明,晶莹剔透,一览无余 黄色,棱角清晰,更易伪装 黑色,霸气十足,无坚不摧 [ 本帖最后由 @ZiShi 于 2013-2-26 21:42 编辑 ]… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 03:14 编辑 分析几个比较不寻常的器件,AD9854ASQ,变容二极管,四轴飞机,乘法器。 AD9854ASQ,明确指出,估计肯定会用到,AD9854拥有两路正交的输出,用途估计在正交调制通信或者扫频仪,专门的DDS题不可能, ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 03:14 编辑 2013电设控制类赛题设想与分析 拿到清单的,做控制类题的此刻的心情估计和本人一样。。。。。。 以四旋翼飞行器为载体替代了以往的小车成为了一道赛题。二维到三维,难度提升的不是一点点。 ...… 查看全部问答> |
|
现在想做两个单片机通信,一个单片机给另一个单片机发送一个字节的数据,接收的单片机通过UART串口中断的方式触发,当接收一个字节后置位标志位用以在main函数中做判别使用,可是做出来的效果是标志位Flag没有被置位,请大神指导,我这思路有没有问 ...… 查看全部问答> |
|
【TI首届低功耗设计大赛】林琅耍潇洒+第一次运行按键输入和LED输出 九月下旬拿到这款金刚狼MSP430,首先是安装运行环境。自己原有针对MSP430F149的版本是IAR for MSP430 5.3版的,捣鼓了很久都没有把程序烧写进去。后来通过论坛的朋友给我安装了6.1版本的,并重新设置了下编译环境参数。 ...… 查看全部问答> |




