找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7951|回复: 2
收起左侧

stm32f407定时器9中断--库函数版本

[复制链接]
ID:507960 发表于 2019-8-3 15:02 | 显示全部楼层 |阅读模式
发现定时器8到定时器14的中断服务函数和其他定时器不太一样,写一下程序提醒一下自己。
  1. //通用定时器9中断初始化
  2. //arr:自动重装值。
  3. //psc:时钟预分频数
  4. //定时器溢出时间计算方法:Tout=((arr+1)*(psc+1))/Ft us.
  5. //Ft=定时器工作频率,单位:Mhz
  6. void TIM9_Int_Init(u16 arr,u16 psc)
  7. {
  8.         TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
  9.         NVIC_InitTypeDef NVIC_InitStructure;

  10.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM9,ENABLE);  ///使能TIM9时钟       
  11.   TIM_TimeBaseInitStructure.TIM_Period = arr;         //自动重装载值
  12.         TIM_TimeBaseInitStructure.TIM_Prescaler=psc;  //定时器分频
  13.         TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式
  14.         TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
  15.         TIM_TimeBaseInit(TIM9,&TIM_TimeBaseInitStructure);//初始化TIM9
  16.         TIM_ITConfig(TIM9,TIM_IT_Update,ENABLE); //允许定时器9更新中断
  17.         TIM_Cmd(TIM9,ENABLE); //使能定时器9

  18.         NVIC_InitStructure.NVIC_IRQChannel=TIM1_BRK_TIM9_IRQn; //定时器9中断
  19.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x00; //抢占优先级0
  20.         NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x03; //子优先级3
  21.         NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
  22.         NVIC_Init(&NVIC_InitStructure);       
  23. }

  24. //定时器9中断服务函数
  25. void TIM1_BRK_TIM9_IRQHandler(void)       
  26. {
  27.         if(TIM_GetITStatus(TIM9,TIM_IT_Update)==SET) //溢出中断
  28.         {
  29. //写需要的代码
  30.         }
  31.         TIM_ClearITPendingBit(TIM9,TIM_IT_Update);  //清除中断标志位
  32. }
复制代码
在主函数中调用         TIM9_Int_Init(5000-1,8400-1);        //定时器时钟84M,分频系数8400,所以84M/8400=10Khz的计数频率,计数5000次为500ms     
即可。


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:925548 发表于 2021-5-31 11:48 | 显示全部楼层
APB2是168M 不是84M
回复

使用道具 举报

ID:823282 发表于 2021-7-22 09:18 | 显示全部楼层
高级定时器两倍频后世168M,通用定时器两倍频是84M
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表