你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【stm32f103】TIMER基本定时功能的使用(寄存器版)

[复制链接]
aimejia 发布时间:2018-5-29 14:12
一.TIMER stm32框图

1.png

如图:

         1为时钟源

●  内部时钟(CK_INT)

● 外部时钟模式1:外部输入脚(TIx)

●  外部时钟模式2:外部触发输入(ETR)

●  内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以   配置一个定时器Timer1而作为另一个定时器Timer2的预分频器

本历程采用内部时钟源,也就是以下的path

此处需要注意一点:如果使用内部时钟,如果TIMER所在的总线是1分频,那么就是所在总线的时钟频率,如果不是1分频,那么时钟频率就是所在总线频率*2

如系统时钟为72M,TIMER2所在APB1为1分频,那么TIMER时钟频率为72M*1

如系统时钟为72M,TIMER2所在APB1为2分频,那么TIMER时钟频率为36M*2

虽然都为72M,但是计算方法也不同,对于频率系数比较大的就能看出差异,例如stm32 f407

2.png

2为时基单元

PSC预分频数,还有重装载值,计数器CNT是寄存器根据重装载值和方向进行递增递减

3为输入捕获,最基本的用途可以计算上升沿和下降沿的时间

4为输出,即PWM,可以自己输出波形,控制占空比

二.寄存器图

3.png

Timer的寄存器比较多,本历程只是实现最基本的定时功能,输入捕获,PWM暂时不做讨论

三.编程步骤
1.      使能TIMER时钟

2.      设置重装载值和分频系数

3.      计数器清零

4.      设置触发中断的方式

5.      使能TIMER

6.      使能TIMER NVIC中断

7.      TIMER中断函数编写

四.程序解析
程序调用API
  1. [cpp] view plain copy
  2. Time2_Enable(19999,7199);
复制代码
调试如下
  1. [cpp] view plain copy
  2. RCC->APB1ENR = RCC_APB1ENR_TIM2EN; // 72M clock
复制代码
1.使能TIMER时钟,为72M,如图

4.png
  1. [cpp] view plain copy
  2. TIM2->ARR= arr;  
  3. TIM2->PSC= psc;
复制代码
2. 设置重装载值和分频系数,如图

5.png
  1. [cpp] view plain copy
  2. TIM2->EGR = TIM_EGR_UG;
复制代码
3.计数器清零
  1. [cpp] view plain copy
  2. TIM2->CR1= TIM_CR1_URS;  
  3. TIM2->DIER= TIM_DIER_UIE;
复制代码
4. 设置触发中断的方式

5.使能TIMER,如图:

6.png
  1. [cpp] view plain copy
  2. NVIC_SetPriority(TIM2_IRQn,1);  
  3. NVIC_EnableIRQ(TIM2_IRQn);
复制代码
6.使能TIMER中断
  1. [cpp] view plain copy
  2. voidTIM2_IRQHandler(void)  
  3. {  
  4.          TIM2->SR &= ~TIM_SR_UIF;  
  5.            
  6.          printf("timeout! CNDTR=%d\n",DMA1_Channel5->CNDTR);  
  7. }
复制代码
7.编写TIMER中断函数
程序运行图
7.png
每2s产生一次中断

72M = 72000000HZ

分频7200

72000000/7200 = 10000

所以一个周期是 1/10000

然后出发中断时20000个周期,所以2s一次中断

收藏 评论0 发布时间:2018-5-29 14:12

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版