7-STM32定时器相关的库函数_第1页
7-STM32定时器相关的库函数_第2页
7-STM32定时器相关的库函数_第3页
7-STM32定时器相关的库函数_第4页
7-STM32定时器相关的库函数_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

STM32定时器相关的库函数STM32定时器相关的库函数如何通过库函数来实现定时器的定时任务呢?定时器相关的库函数主要集中在固件库文件stm32f10x_tim.h和stm32f10x_tim.c文件中。TIM_TimeBaseInit()函数初始化定时器自动重装值、分频系数、计数方式等参数,是通过初始化函数TIM_TimeBaseInit()实现的。其原型如下:

TIM_TypeDef*TIMx

TIM_TimeBaseInitTypeDef*TIM_TimeBaseInitStructSTM32定时器相关的库函数定时器相关的库函数

TIM_TimeBaseInit()函数结构体类型为TIM_TimeBaseInitTypeDef,结构体定义如下:typedefstruct{uint16_tTIM_Prescaler;uint16_tTIM_CounterMode;uint16_tTIM_Period;uint16_tTIM_ClockDivision;uint8_tTIM_RepetitionCounter;}TIM_TimeBaseInitTypeDef;

uint16_tTIM_Prescaler;uint16_tTIM_CounterMode;uint16_tTIM_ClockDivision;uint16_tTIM_Period;uint8_tTIM_RepetitionCounter;STM32定时器相关的库函数定时器相关的库函数TIM_TimeBaseInit()函数针对本任务使用的TIM3,初始化代码如下:

TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;

TIM_TimeBaseStructure.TIM_Period=5000;

TIM_TimeBaseStructure.TIM_Prescaler=7199;

TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;

TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;

TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);

STM32定时器相关的库函数定时器相关的库函数

TIM_ITConfig()函数定时器中断使能是通过TIM_ITConfig()函数来实现的,即TIM_ITConfig()函数是用来设置TIMx_DIER允许更新中断。其原型如下:使能TIM3的更新中断,代码如下:TIM_ITConfig(TIM3,

TIM_IT_Update,

ENABLE);voidTIM_ITConfig(TIM_TypeDef*TIMx

,

uint16_tTIM_IT

,

FunctionalStateNewState

);TIM_TypeDef*TIMx

uint16_tTIM_ITFunctionalStateNewStateSTM32定时器相关的库函数定时器相关的库函数TIM_Cmd()函数开启定时器是通过TIM_Cmd()函数来实现的,既使用TIM_Cmd()函数设置TIM3_CR1的CEN位开启定时器。若开启TIM3,代码如下:voidTIM_Cmd(TIM_TypeDef*TIMx

,

FunctionalStateNewState

);TIM_Cmd(TIM3,ENABLE);//使能TIMx外设TIM_TypeDef*TIMxFunctionalStateNewStateSTM32定时器相关的库函数定时器相关的库函数定时器中断服务函数定时器中断服务函数可以处理定时器产生的相关中断,编写定时器中断服务函数步骤如下:在中断产生后,通过状态寄存器SR的值来判断此次产生的中断属于什么类型;然后执行相关的操作,在这里使用的是更新(溢出)中断,所以在状态寄存器SR的最低位;在处理完中断之后应该向

TIMx_SR

的最低位写0,来清除该中断标志。STM32定时器相关的库函数定时器相关的库函数定时器中断服务函数判断中断类型函数读取中断状态寄存器的值,以及判断中断类型的库函数原型如下:清除中断标志位函数库函数原型如下:定时器中断服务函数向量表定时器的每个中断都对应一个中断服务函数。ITStatusTIM_GetITStatus(TIM_TypeDef*TIMx,uint16_tTIM_IT);voidTIM_ClearITPendingBit(TIM_TypeDef*TIMx,uint16_tTIM_IT);STM32定时器的初始化步骤在学习完STM32的TIMx定时器相关寄存器

温馨提示

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

评论

0/150

提交评论