版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HAL库定时器的基本操作函数和宏1STM32程序设计案例教程电子工业出版社欧启标主要内容一、定时器普通方式启动函数和关闭函数的执行过程二、定时器计数器值的设置和读取三、定时器初始化函数HAL_TIM_Base_Init的定义一、定时器普通方式启动函数和关闭函数的执行过程HAL_StatusTypeDefHAL_TIM_Base_Start(TIM_HandleTypeDef*htim){uint32_ttmpsmcr;assert_param(IS_TIM_INSTANCE(htim->Instance));
/*(1)检查函数参数*/htim->State=HAL_TIM_STATE_BUSY;/*(2)设置定时器的状态为忙状态,准备对定时器进行配置*/tmpsmcr=htim->Instance->SMCR&TIM_SMCR_SMS;/*(3)和下一步if中的判断结合一起判断是不是从模式触发模式启动定时器*/if(!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)){__HAL_TIM_ENABLE(htim);/*(4)如果不是触发模式启动,则使能定时器*/}htim->State=HAL_TIM_STATE_READY;/*(5)定时器配置好后,重新将定时器配置为准备好的状态*/returnHAL_OK;/*(6)返回定时器准备好的状态*/}1.定时器普通方式启动函数HAL_TIM_Base_Start的执行过程HAL_StatusTypeDefHAL_TIM_Base_Stop(TIM_HandleTypeDef*htim){assert_param(IS_TIM_INSTANCE(htim->Instance));/*(1)检查函数参数*/htim->State=HAL_TIM_STATE_BUSY;/*(2)设置定时器的状态为忙,准备配置定时器*/__HAL_TIM_DISABLE(htim);/*(3)关闭定时器*/htim->State=HAL_TIM_STATE_READY;
/*(4)设置定时器状态为准备好的状态*/returnHAL_OK;/*(5)定时器外设配置完成,返回OK*/}2.定时器普通方式关闭函数二、定时器计数器值的设置和读取1.计数器值的设置:__HAL_TIM_SetCounter()2.计数器值的读取:__HAL_TIM_GetCounter()三、定时器初始化函数HAL_TIM_Base_Init的定义在main函数中对定时器进行初始化使用的是函数”MX_TIM3_Init()”,该函数实际上是通过调用HAL库的定时器普通初始化函数HAL_TIM_Base_Init来完成对定时器的初始化的。下面我们打开该函数,看该函数如何定义。函数HAL_TIM_Base_Init的定义如下(只列出部分主要内容)HAL_StatusTypeDefHAL_TIM_Base_Init(TIM_HandleTypeDef*htim){if(htim==NULL)/*判断定时器句柄是否为空*/{returnHAL_ERROR;}if(htim->State==HAL_TIM_STATE_RESET)/*判断定时器是否处于复位状态*/{
HAL_TIM_Base_MspInit(htim);/*调用MSP函数使能模块的时钟*/}htim->State=HAL_TIM_STATE_BUSY;
TIM_Base_SetConfig(htim->Instance,&htim->Init);/*设置定时器的底层寄存器*/htim->State=HAL_TIM_STATE_READY;/*将定时器设置为准备好的状态*/returnHAL_OK;}可以看到,该函数通过调用Msp函数来使能模块的时钟(如有必要还会配置模块使用到的GPIO引脚),然后调用SetConfig函数来完成对底层寄存器的初始化。这点与串口的同类的通用初始化函数HAL_UA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁省抚顺市新宾满族自治县2025-2026学年七年级下学期期末教学质量检测语文试卷(有答案)
- 湖北随州市2025-2026学年高一下学期期末考试数学试题(含答案)
- 黑龙江佳木斯市第八中学2025-2026学年高二下学期7月期末考试数学试题(含答案)
- 交易行为模式挖掘-第14篇
- 体感驱动下的投资决策模型
- 人工智能在监管中的伦理框架
- 2026浙江嘉兴市嘉善县教育局嘉善县招聘教师42人考试备考题库及答案详解
- 2026年哈密地区哈密市住房和城乡建设局人员招聘笔试参考试题及答案详解
- 2026年福建晋江鞋纺城有限责任公司权属子公司招聘1人考试备考题库及答案详解
- 2026年金华市婺城区住房和城乡建设局人员招聘笔试备考试题及答案详解
- 产品经理的跨部门协作与项目管理技巧详述
- 贸易公司管理制度范本
- 湖南省2026年电梯安全管理员考试报名试题及真题
- 2026年叉车工比赛理论考试题库及参考答案1套
- 民办学校“三重一大”决策制度实施办法
- 机房屏蔽施工方案(3篇)
- 2026年湘西民族职业技术学院高职单招职业适应性测试备考题库带答案解析
- 2026华舰体育控股集团招聘面试题及答案
- 2025年中国电影市场及观众变化趋势报告
- 5年(2021-2025)重庆高考生物真题分类汇编:专题02 细胞的能量供应和利用(原卷版)
- 公司管理规章制度模板
评论
0/150
提交评论