05STM32F4通用定时器详细讲解教学提纲_第1页
05STM32F4通用定时器详细讲解教学提纲_第2页
05STM32F4通用定时器详细讲解教学提纲_第3页
05STM32F4通用定时器详细讲解教学提纲_第4页
05STM32F4通用定时器详细讲解教学提纲_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、05_STM32F4 通用定 时器详细讲解 粘品文档 STM32F4系列共有14个定时器,功能很强大。14个定时器分别为: 2个高级定时器:Timeil和Timei8 10 个通用定时器:Timer2timer5 和 timer9tinierl4 2个基本定时器:“me】6和timei? 本篇欲以通用定时器hme】3为例,详细介绍定时器的各个方面,并对其PWM 功能做彻底的探讨。 Time是一个16位的定时器.有四个独立通道,分别对应着PA6 PA7 PB0 PB1 主要功能是:1输入捕获一一测量脉冲长度。 2输出波形PWM输出和单脉冲输出。 Time有4个时钟源: 1 :内部时钟(CK_IN

2、T),来自RCC的TIMxCLK 2 :外部时钟模式1 :外部输入TI1FP1与TI2FP2 3 :外部时钟模式2 :外部触发输入TIMx_ETR,仅适用于TIM2、TIM3、 TIM4, TIM3.对应着PD2引脚 4:内部触发输入:一个定时器触发另一个定时器。 时钟源可以通过TIMx.SMCR相关位进行设置。这里我们使用内部时钟。 收集于网络,如有侵权请联系管理员删除 粘品文档 APBx Piesca sysclk(最 AHB_Prescal 定时器挂在高速外设时钟APB1或低速外设时钟APB2上,时钟不超过内部高 速时钟HCLK,故当APBx.Prescalei不为1时,定时器时钟为其2

3、倍,当为1 时 为了不超过HCLK,定时器时钟等于HCLK。 例如:我们一般配置系统时钟SYSCLK为168MHz,内部高速时钟 AHB=168Mliz, APB1欲分频为4,(因为APB1最高时钟为42M11Z),那么挂 在APB1总线上的tunei-3时钟为84Mlizo STM32F4xx中文参考手册的424443页列出与通用定时器相关的寄存器 一共20个, 以下列出与Timer3相关的寄存器及重要寄存器的简单介绍。 1 TIM3 控制寄存器 1 (TIM3_CR1) 作用:1使能自动重载TIM3_ARR 2定时器的计数器递增或递减计数。 3事件更新。 4计数器使能 2TIM3 控制寄存

4、器 2 (TIM3.CR2) 3TIM3从模式控制寄存器(TIM3_SMCR) 4 TIM3 DMA/中断使能寄存器(TIM3_DIER) 作用:1:使能事件更新中断 2:使能捕获/比较中断 5TIM3状态寄存器(TIM3_SR) 收集于网络,如有侵权请联系管理员删除 粘品文档 1:事件更新中断标志 2:捕获/比较中断标志 6TIM3事件生成寄存器(TIM3_EGR) 7 TIM3捕获/比较模式寄存器1 (TIM3_CCMR1) 1:输出比较模式 2:输出比较预装载使能,即使能后可以随时改变TIM3捕获/比较寄存器1 (TIM3_CCR1)的值 3:捕获/比较拡择 8 TIM3捕获/比较模式寄

5、存器2 (TIM3_CCMR2) 9 TIM3捕获/比较使能寄存器(TIM3_CCER) 1:上升沿触发o下降沿触发 2:捕获/比较输出使能 10 TIM3 计数器(TIM3_CNT) 11 TIM3 预分频器(TIM3_PSC) 计数器时钟频率CK.CNT等于fcK psc/(PSC15:0 + 1)。 12 TIM3自动重载寄存器(TIM3_ARR) 当自动重载值为空时,计数器不工作 难道说每次事件都必须装载重载值? 13 TIM3捕获/比较寄存器1 (TIM3_CCR1) 输出时:CCR1是捕获/比较寄存器的预装载值,由TIM3_CCMR的OC1PE位 使能。 输入时:CCR1为上一个输

6、入捕获事件(IC1)发生时的计数器值。 14 TIM3捕获/比较寄存器2 (TIM3_CCR2) 15 TIM3捕获/比较寄存器3 (TIM3_CCR3) 16 TIM3捕获/比较寄存器4 (TIM3_CCR4) I Timer3用来做定时中断 与之相关的时基单元寄存器有 10 TIM3 计数器(TIM3_CNT) II TIM3 预分频器(TIM3_PSC) 12 TIM3自动重载寄存器(TIM3_ARR) 原理: 收集于网络,如有侵权请联系管理员删除 粘品文档 这里以向上计数为例,即计数器TIM3.CNT向上计数,当达到TIM3.ARR所设 定的值时,归零重新计数,若使能了更新中断,则在T

7、IM3_CNT归零时,进入中 断。 进入中断的时间为(TIM3.ARR+1)个计时器周期 而计时器单元时钟是由定时器时钟分频得到,每(CK-PSC+1)个定时器周期计数一 次。 定时器时钟上文已经讲了,由于TimeiS挂在APB1总线上 故 Timei3 进入中断的周期为(CK_PSC+1)* (TIM3.ARR+1)/84000000 秒 频率为 84000000/(CK_PSC+l)* (TIM3_ARR+1) Hz 利用官方库函数实现每500ms进入中断,改变LED灯的电平,程序如下 1打开时钟,Tmier3挂在APB1 ,所以命令开启时钟。 RCC_APB 1 PenphClockCm

8、d(RCC_APB 1 Peiiph_TIM3,ENABLE); /使能 TIM3 时钟 2时钟Tmiei3的配置。 TIM_TimeBasehutSu-uctuie.TIM_Penod = air; / 自动重装载值 TIM_TinieBaseIiiitStnicture.TIM_Piescaler=psc; 定时器分频 TIM_TinieBaseInitStmcture.TIM_CouiiteiMode=TIM_CouiiterMode_Up; 向上 计数模式 TIM_TinieBaseInitStnicture.TIM_ClockDivision=TIM_CKD_DIV 1; TIM_T

9、inieBaseInit(TIM3,/初始化 TIM3 3使能中断 收集于网络,如有侵权请联系管理员删除 粘品文档 TIM_ITCoiifig(TIM3JIM_IT_Update,ENABLE); 允许定时器 3 更新中断。 4 打开 Tunei3 o TIM_Cmd(TIM3,ENABLE); 使能定时器 3 5配置中断。 6中断服务函数编写。 故可见STM32的初始化函数都离不开以下几步 1打开设备时钟。 2配置参数。 3打开设备。 设备需配置后再打开。如果需要配置中断,那么则需要编写中断服务函数。 完整程序如下 void TIM3_hit_hnt(u 16 air,ul6 psc) TI

10、M_TimeBaseInitTypeDef TIM_T lmeBaselnitStnictuie; NVIC_LutTypeDef NVIC_IiutStinctuie; RCC_APB 1 PeiiphClockCmd(RCC_APB lPenph_TIM3,ENABLE); 使能 TIM3时钟 TIM_TmieBaseIiiitSti-ucture.TIM_Piescalei-psc; 定时器分频 TIM_TimeBaseInitStnicture.TIM_CouiiteiMode=TIM_CouiiteiMode_Up; / 向上计数 TIM_TimeBaseInitStnictuie.

11、TIM_Peiiod = air;/ 自动装载值 TIM_TimeBaseInitStnictuie.TIM_CiockDivision=TIM_CKD_DIV 1; TIM_TimeBaseInit(TIM3,/初始化 TIM3 收集于网络,如有侵权请联系管理员删除 粘品文档 HM_ITConfig(TIM3,TIM_IT_Update,ENABLE); 允许定时器 3 更新中断 TIM_Cmd(TIM3,ENABLE); 使能定时器 NVIC_LutStnictuie.NVIC_IRQChaimel=TIM3_IRQn; 定时器中断 NVIC_LutStnictuie.NVIC_IRQChaimelPreemptioiiPnonty=OxO 1; 抢占优先 级1 NVIC_LutSti-uctui-e.NVIC_IRQChaimelSubPiiority=0 x03; 子优先级 3 NVIC_LutStnictuie.NVIC_IRQChaimelCmd=ENABLE; NVIC_Lut( /Timer3中断服务函数 void TIM3_IRQHandlei(void) if(TIM_GetITStatus(TIM3 ,TIM_IT_Update)=SET)/ / 溢出中断 GPIO_ToggleBits(GP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论