stm32学习笔记4通用定时器基本功能_第1页
stm32学习笔记4通用定时器基本功能_第2页
stm32学习笔记4通用定时器基本功能_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

STM32Timer简STM32112个高级控制定时器,4221个系统嘀嗒定时器。其中系统嘀嗒定时器是前文中所描SysTick8个定时器。产生请161-65536之间的任可4有161-65536之间的任可4没16向1-65536之间的任可0没其中TIM1和TIM8是能够产生3对 的驱动,时钟由APB2的输出产生。TIM2-TIM5是普通定时器,TIM6和TIM7是基本定时器,其时钟由APB1输出产生。由于STM32的TIMER功能太复杂了,所以只能一点一点的学习。因此今天就从最简单的开始学习起,也就是TIM2-TIM5普通定时器的定时功普通定时器TIM2-Timer1Timer2的预分频器。由于今天的学习是最基本的定时功能,所以采用内部时钟。TIM2-TIM5的时钟不是直接来自于APB1APB1APB11APB1的频率;当APB1的预分频系数为其他数值时(2、4、816),这个倍频器起作用,定时器的时钟频率等于APB12倍。APB1的分频在STM32_SYSTICK的学习笔记中有详细描述。通过倍频器给定时器时钟的好处是:APB1TIM2-TIM5提频率时,TIM2-TIM5仍然可以得到较高的时钟频率。TIM2-TIM5可以由向上计数、向下计数、向上向下双向计数。向上计数模式中,计数0计数到自动加载值(TIMx_ARR计数器内容)0开始计数并且产生一个计数器溢出。在向下模式中,计数器从自动装入的值(TIMx_ARR)开始向下计数到0,向下计数)是计数器从0开始计数到自动装入的值-1,产生一个计数器溢出,然后向下计数到1并且产生一个计数器溢出;然后再从0开始重新计数。其中,前3项面的笔记中已经给出,在此就不再赘述了。第4项配置TIMER有TIM_Period其中(3)-(6)TIM_TimerBaseInitTypeDef结构体给出。步骤(3)TIMx所使用的时钟频率,具体计算方法为:CK_INT/(TIM_Perscaler+1)。CK_INT2.1中所描述的APB1的倍频器送出的时钟,TIM_Perscaler065535。使用的采样频率之间的分频比例。TIM_ClockDivision的参数如下表:描二进制tDTS=tDTS=2*tDTS=4*步骤(7)中需要使用预装载缓冲器。当预装载缓冲器被时,写入自动装入的值(TIMx_ARR)的数值会直接传送到对应的寄存器;如果使能预加载寄存器,则写入ARR的数值会在更新时,才会从预加载寄存器传送到对应的寄存器。ARM2个寄存器,一个是程序员可以写入或读出正起作用的寄存器,称为shadowregister(寄存器);设计preloadregister和shadowregister的好处是,所有真正需要起作用的寄存器(shadowregister)可以在同一个时间(发生更新时)被更新为所对应的preloadregister的内容,这样可以保证多个通道的操作能够准shadowregisterpreloadregistershadowregister是直通的,即preloadregistershadowregister,因为软件不可能在一个相同的时程序源代TIM2的定时功能,使得LED1s#includevoidRCC_cfg();voidTIMER_cfg();voidNVIC_cfg();voidGPIO_cfg();int{//2}void{ErrorStatusHSEStartUpStatus;HSEStartUpStatusRCC_WaitForHSEStartUp();if(HSEStartUpStatus==SUCCESS){//AHB时钟(APB2)为HCLK//AHB时钟(APB1)为HCLK2//PLLHSE9倍频8MHz*9=72MHzRCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//PLL//PLL}}void{//36000-172MHz/360002kHzTIM_TimeBaseStructure.TIM_Prescaler=36000-1;TIM_TimeBaseStructure.TIM_CounterModeTIM_CounterMode_Up;TIM_TimeBaseStructure.TIM_Period=2000-//TIM2//ARR预装载缓冲}void{//1NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;}void{GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5; //5GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//50MHzGPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//带上拉电阻输出}stm32f10x_it.cTIM2_IRQHandler(),并向其中添加代码void

温馨提示

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

评论

0/150

提交评论