面向物联网的嵌入式系统开发-17-STM32定时器应用开发课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《面向物联网的嵌入式系统开发-17-STM32定时器应用开发课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 联网 嵌入式 系统 开发 17 STM32 定时器 应用 课件
- 资源描述:
-
1、CC2530和STM32嵌入式接口技术开发5.3 STM32定时器应用开发EducationSolutions目录ContentsInternet+定时器基本原理STM32定时器项目场景项目实践11:27/3定时器介绍定时/计数器是一种能够对时钟信号或外部输入信号进行计数的器件,当计数值达到设定要求时便向CPU提出处理请求,从而实现定时或计数功能的外设。定时/计数器包含3个功能,分别是定时器功能、计数器功能和PWM输出功能,分析如下。对规定时间间隔的输入信号的个数进行计数,当计数值达到指定值时,说明定时时间已到。定时器功能 对任意时间间隔的输入信号的个数进行计数。计数器功能 对规定时间间隔的输
2、入信号的个数进行计数,根据设定的周期和占空比从I/O口输出控制信号。PWM脉冲宽度调制输出功能11:27/4STM32的定时器介绍STM32F407拥有8个定时器,其中TIM6和TIM7是基本定时器,TIM2、TIM5、TIM9TIM14是通用定时器,TIM1和TIM8是高级定时器。基本定时器TIM6TIM7通用定时器TIM2TIM5TIM9TIM14高级定时器TIM1TIM811:27/5基本定时器原理1.定时器时钟源来自内部时钟,频率为90MHz。2.定时器控制器控制时钟的复位、使能、计数等功能。3.计数器分频器执行控制,时钟分频、时长装载、定时器计数。执行完成触发事件。11:27/6高级
3、定时器原理1.定时器时钟源2.定时器控制器3.定时器时基单元4.输入捕获入口5.定时器输出比较6.定时器断路功能11:27/7基本定时器配置流程 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE)时钟使能 void TIM_TimeBaseInit(TIM_TypeDef*TIMx,TIM_TimeBaseInitTypeDef*TIM_TimeBaseInitStruct);初始化定时器参数 void TIM_Cmd(TIM_TypeDef*TIMx,FunctionalState NewState)使能定时器根据基本定时器的硬件结构图可知,
4、定时器首先通过内部时钟获取时钟源,经过控制器配置后,控制器进行对分频器和重装载寄存器的管理,基本定时器的配置流程也遵循这个过程。首先是初始化时钟获取时钟源,接着就是对控制器进行配置,配置完成后使能时钟即可。11:27/8定时器初始化结构体参数typedef struct /结构体关键字uint16_t TIM_Prescaler;/定时器预分配系数参数uint16_t TIM_CounterMode;/定时器计数方式参数uint16_t TIM_Period;/定时器计数周期配置参数uint16_t TIM_ClockDivision;/定时器时钟分频系数uint8_t TIM_Repetit
5、ionCounter;/定时器的重复计算器 TIM_TimeBaseInitTypeDef;/结构体名对于库函数的结构体而言要用通用性,但针对定时器本身又有各自的特点,其中重复计算器在基本定时器中是无需配置的。11:27/9定时器初始化配置TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;/初始化定时器结构体TIM_TimeBaseStructure.TIM_Period=5000;/配置重装载寄存器为4999TIM_TimeBaseStructure.TIM_Prescaler=8999;/配置预分频系数为8999TIM_TimeBaseStruct
6、ure.TIM_ClockDivision=TIM_CKD_DIV1;/配置时钟分频为1分频TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;/配置向上计数TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);/初始化基本定时器配置重装载寄存器为4999,寄存器存满4999则重置。预分频系数设置为8999是由于基本定时器内部时钟为90MHz,经过8999+1分频后时钟为10000Hz,即一个周期时间为(4999+1)/10000=0.5秒。两次循环计数后就是1秒。11:27/10定时器使能 T
7、IM_Cmd(TIM3,ENABLE);/使能TIM3外设void TIM_Cmd(TIM_TypeDef*TIMx,FunctionalState NewState);基本定时器相关信息配置完成后还需要开启定时器,开启定时器后定时器才能正常工作。11:27/11定时器外部中断配置 void TIM_ITConfig(TIM_TypeDef*TIMx,uint16_t TIM_IT,FunctionalState NewState);配置定时器中断事件 TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);使能中断标准基本定时器使能后还需要将定时器使用起来,使用定时器
展开阅读全文