- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
(1)定时器初始化函数HAL_TIM_Base_Init()对定时器的连续定时工作模式和参数进行初始化设置,其原型定义如下:HAL_StatusTypeDefHAL_TIM_Base_Init(TIM_HandleTypeDef*htim);(2)配置为单次定时模式定时器默认工作于连续定时模式,如果要配置定时器工作于单次定时模式,在调用定时器初始化函数HAL_TIM_Base_Init()之后,还需要用函数HAL_TIM_OnePulse_Init()将定时器配置为单次模式。其原型定义如下:HAL_StatusTypeDefHAL_TIM_OnePulse_Init(TIM_HandleTypeDef*htim,uint32_tOnePulseMode)(3)启动和停止定时器定时器有3种启动和停止方式,对应于表7-2中的3组函数。①轮询方式。以函数HAL_TIM_Base_Start()启动定时器后,定时器会开始计数,计数溢出时会产生UEV事件标志,但是不会触发中断。用户程序需要不断地查询计数值或UEV事件标志来判断是否发生了计数溢出。②中断方式。以函数HAL_TIM_Base_Start_IT()启动定时器后,定时器会开始计数,计数溢出时会产生UEV事件,并触发中断。用户在中断ISR里进行处理即可,这是定时器最常用的处理方式。③DMA方式。以函数HAL_TIM_Base_Start_DMA()启动定时器后,定时器会开始计数,计数溢出时会产生UEV事件,并产生DMA请求。(4)获取定时器运行状态函数HAL_TIM_Base_GetState()用于获取定时器的运行状态,其原型定义如下:HAL_TIM_StateTypeDefHAL_TIM_Base_GetState(TIM_HandleTypeDef*htim);函数返回值是枚举类型HAL_TIM_StateTypeDef,表示定时器的当前状态。2.其他通用操作函数文件stm32f4xx_hal_tim.h还定义了定时器操作的一些通用函数,这些函数都是宏函数,直接操作寄存器,所以主要用于在定时器运行时直接读取或修改某些寄存器的值,如修改定时周期、重新设置预分频系数等,如表7-3所示。表7-3定时器操作部分通用函数函数名功能描述_HAL_TIM_ENABLE()启用某个定时器,就是将定时器控制寄存器TIMx_CR1的CEN位置1_HAL_TIM_DISABLE()禁用某个定时器_HAL_TIM_GET_COUNTER()在运行时读取定时器的当前计数值,就是读取TIMx_CNT寄存器的值_HAL_TIM_SET_COUNTER()在运行时设置定时器的计数值,就是设置TIMx_CNT寄存器的值_HAL_TIM_GET_AUTORELOAD()在运行时读取自重载寄存器TIMx_ARR的值_HAL_TIM_SET_AUTORELOAD()在运行时设置自重载寄存器TIMx_ARR的值,并改变定时的周期_HAL_TIM_SET_PRESCALER()在运行时设置预分频系数,就是设置预分频寄存器TIMx_PSC的值这些函数都需要一个定时器对象指针作为参数,例如,启用定时器的函数定义如下:#define_HAL_TIM_ENABLE(_HANDLE_)((_HANDLE_)-Intendance-CR1|=(TIM_CR1CR1_CEN))3. 中断处理定时器中断处理相关函数如表7-4所示,这些函数对所有定时器都是适用的。函数名函数功能描述_HAL_TIM_ENABLE_IT()启用某个事件的中断,就是将中断使能寄存器TIMx_DIER中相应事件位置1_HAL_TIM_DISABLE_IT()禁用某个事件的中断,就是将中断使能寄存器TIMx_DIER中相应事件位置0_HAL_TIM_GET_FLAG()判断某个中断事件源的中断挂起标志位是否被置位,就是读取状态寄存器TIMx_SR中相应的中断事件位是否置1,返回值为TRUE或FALSE_HAL_TIM_CLEAR_FLAG()清除某个中断事件源的中断挂起标志位,就是将状态寄存器TIMx_SR中相应的中断事件位清零_HAL_TIM_CLEAR_IT()与_HAL_TIM_CLEAR_FLAG()的代码和功能完全相同_HAL_TIM_GET_IT_SOURCE()查询是否允许某个中断事件源产生中断,就是检查中断使能寄存器TIMx_DIER中相应事件位是否置1,返回值为SET或RESETHAL_TIM_IRQHandler()定时器中断的ISR里调用的定
您可能关注的文档
- 基于STM32Cube的嵌入式系统应用 教案全套 第1--12章 绪论---STM32 DMA控制器.docx
- 基于STM32Cube的嵌入式系统应用 教学大纲.doc
- 基于STM32Cube的嵌入式系统应用 课件 第1章 绪论.ppt
- 基于STM32Cube的嵌入式系统应用 课件 第2章 STM32嵌入式微控制器与最小系统设计.ppt
- 基于STM32Cube的嵌入式系统应用 课件 第3章 STM32CubeMX的应用.ppt
- 基于STM32Cube的嵌入式系统应用 课件 第8章 STM32通用同步异步收发器.ppt
- 基于STM32Cube的嵌入式系统应用 课件 第9章 STM32 SPI控制器.ppt
- 基于STM32Cube的嵌入式系统应用 课件 第10章 STM32 I2C控制器.ppt
- 人教版数学八年级上册习题课件:第14章 整式的乘法与因式分解章末核心素养整合提升与易错专攻.pptx
- 人教版历史与社会下册5.1.1明清帝国的兴替课件 (共24张PPT).ppt
- 人教版数学九年级上册《 二次函数》说课稿(共19张PPT).ppt
- 人教版八年级上册 12.2.2三角形全等的判定 “边角边”判定三角形全等 (共22张PPT).ppt
- 人教版初中数学2011课标版八年级上册第十二章12.2 三角形全等的判定 课件(共16张PPT).ppt
- 人教版九年级第十单元课题1浓硫酸1 (共18张PPT).ppt
- 人教版初中数学七年级上册 1.4 有理数的乘除法(共22张PPT).ppt
- 人教版八年级物理上册第1章 第2节运动的描述习题课件(共20张PPT).ppt
- 人教版九年级课题2酸和碱之间会发生什么反应(共21张PPT).ppt
- 人教版初中物理2011课标版 九年级 第十八章 电功率第三节 测量小灯泡的电功率(共25张PPT).pptx
- 人教版初中数学2011课标版九年级上册第二十四章24.1圆的有关性质(共17张PPT).ppt
- 人教版初中数学2011课标版九年级上册21.2解一元二次方程(共22张PPT).pptx
原创力文档


文档评论(0)