《嵌入式技术入门与实战(基于STM32)》 课件 6.3-定时器的应用 输入捕获_第1页
《嵌入式技术入门与实战(基于STM32)》 课件 6.3-定时器的应用 输入捕获_第2页
《嵌入式技术入门与实战(基于STM32)》 课件 6.3-定时器的应用 输入捕获_第3页
《嵌入式技术入门与实战(基于STM32)》 课件 6.3-定时器的应用 输入捕获_第4页
《嵌入式技术入门与实战(基于STM32)》 课件 6.3-定时器的应用 输入捕获_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

第6章STM32定时器应用实战《嵌入式技术入门与实战(基于STM32)》4任务3定时器测量输入的脉冲宽度第6章STM32定时器应用实战PartFour案例引入输入捕获实验用TIM5的通道1(PA0)来做输入捕获,捕获PA0上高电平的脉宽(用KEY_UP按键输入高电平),通过串口打印高电平脉宽时间目录输入捕获相关寄存器配置实现C语言基础-书写规范定时器输入捕获原理介绍实验内容C语言基础-书写规范C语言基础书写程序时应遵循的规则1、一个说明或一个语句占一行。

2、用{}括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。4、适时添加注释。在编程时应力求遵循这些规则,以养成良好的编程风格。定时器输入捕获原理介绍输入捕获简介输入捕获的主要功能:检测外部事件或输入信号,用来测量周期信号的周期、频率和占空比等参数,也用于测量非周期输入信号的脉冲宽度、到达时刻或消失时刻等参数STM32的定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能。定时器类型计数器位数预分频器的位数DMA请求计数方向捕获/输出比较通道数互补输出高级定时器(TIM1、TIM8)1616有向上、向下、向上/向下4有通用定时器(TIM2~TIM5)16(TIM3/TIM4)32(TIM2/TIM5)16有向上、向下、向上/向下4无通用定时器(TIM9~TIM14)1616有向上2(TIM9/12)1(TIM10/11/13/14)无基本定时器(TIM6、TIM7)1616有向上0无输入捕获功能框图高级和通用定时器,都有4个通道的捕获/比较单元;每个输入捕获、输出比较共享一个寄存器;输入捕获和输出比较功能不能同时使用。捕获通道1的功能框图通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA。捕获/比较寄存器(TIMx_CCRx)输入捕获脉宽测量原理1、首先设置定时器通道x为上升沿捕获,t1时刻,就会捕获到当前的CNT值(不用保存,不需要)2、然后立即清零CNT,并设置通道x为下降沿捕获,这样到t2时刻,又会发生捕获事件,得到此时的CNT值,记为CCRx2。3、在t1~t2之间,可能产生N次定时器溢出,这就要求我们对定时器溢出,做处理,防止高电平太长,导致数据不准高电平脉宽=(N*(ARR+1)+CCRx2)/计数频率输入捕获相关寄存器配置实现捕获相关寄存器描述捕获/比较模式寄存器:TIMx_CCMR该寄存器总共有2个:TIMx_CCMR1控制CH1和2,TIMx_CCMR2控制CH3和4。捕获/比较使能寄存器(TIMx_CCER)该寄存器控制着各个输入输出通道的开关。

捕获/比较寄存器(TIMx_CCR1~4)该寄存器总共有4个,对应4个输通道CH1~4。该寄存器用来存储捕获发生时,TIMx_CNT的值捕获/比较模式寄存器配置实现HAL库是通过HAL_TIM_IC_ConfigChannel函数来初始化输入比较参数的:HAL_StatusTypeDefHAL_TIM_IC_ConfigChannel(TIM_HandleTypeDef*htim,TIM_IC_InitTypeDef*sConfig,uint32_tChannel);sConfig,该参数是TIM_IC_InitTypeDef结构体指针类型,typedefstruct{uint32_tICPolarity;uint32_tICSelection;uint32_tICPrescaler;uint32_tICFilter;}TIM_IC_InitTypeDef;输入捕获配置实验内容实验内容输入捕获实验:用TIM5的通道1(PA0)来做输入捕获,捕获PA0上高电平的脉宽(用KEY_UP按键输入高电平),通过串口打印高电平脉宽时间硬件设计本实验用到的硬件资源有:1)WK_UP按键2)串口3)定时器TIM5引脚复用:PA0引脚需要开启复用功能,映射到TIM5_CH1,开启下拉电阻软件设计高电平脉宽=(N*(ARR+1)+TIM5_CNT)/计数频率04020301当下降沿到来时,发生捕获,并记录此时的TIM5_CNT值检测到上升沿,发生捕获,TIM5_CNT值清零,捕获状态清零,配置捕获信号为下降沿捕获,开启定时更新中断;期间,定时更新事件发生时进入中断处理函数记录定时器溢出的次数N,初始化输入捕获为上升沿检测初始化上升沿捕获定时中断下降沿捕获脉宽计算05计算出高电平脉宽的准确时间测量信号的脉冲宽度软件设计过程实验要求下载代码到实验板,观察结果是否符合预期撰写实验报告思考题:1、请详细给出程序实现流程图,特

温馨提示

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

最新文档

评论

0/150

提交评论