第10章 基础定时器_第1页
第10章 基础定时器_第2页
第10章 基础定时器_第3页
第10章 基础定时器_第4页
第10章 基础定时器_第5页
已阅读5页,还剩27页未读, 继续免费阅读

下载本文档

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

文档简介

输出比较简介OC(OutputCompare)输出比较,可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形每个高级定时器和通用定时器都拥有4个输出比较通道高级定时器的前3个通道额外拥有死区生成和互补输出的功能通用定时器高级定时器PWM简介PWM(PulseWidthModulation)脉冲宽度调制,是一种用数字开关信号(通/断)的占空比变化,等效控制模拟量(电压、功率、亮度、转速等)的电子控制技术。PWM参数:

频率=1/TS

占空比=TON/TS

分辨率=占空比变化步距PWM简介PWM频率:

Freq=CK_PSC/(PSC

+1)/(ARR

+1)PWM占空比:

Duty=CCR/(ARR

+1)PWM分辨率:

Reso=1/(ARR

+1)输出比较通道(通用)模式选择极性选择输出使能输出比较模式极性选择选择正常输出的极性选择互补输出的极性输出比较通道(高级)正常输出互补输出PWM相关HAL库函数函数名功能描述HAL_TIM_PWM_Init()生成PWM波的配置初始化,需先执行HAL_TIM_Base_Init()进行定时器初始化HAL_TIM_PWM_ConfigChannel()配置PWM输出通道HAL_TIM_PWM_Start()启动生成PWM波,需要先执行HAL_TIM_Base_Start()启动定时器HAL_TIM_PWM_Stop()停止生成PWM波HAL_TIM_PWM_Start_IT()以中断方式启动生成PWM波,需要先执行HAL_TIM_Base_Start_IT()启动定时器HAL_TIM_PWM_Stop_IT()停止生成PWM波HAL_TIM_PWM_GetState()返回定时器状态,与HAL_TIM_Base_GetState()功能相同__HAL_TIM_ENABLE_OCxPRELOAD()使能CCR寄存器的预装载功能,为CCR设置的新值在下个UEV事件发生时才更新到CCR寄存器__HAL_TIM_DISABLE_OCxPRELOAD()禁止CCR寄存器的预装载功能,为CCR设置的新值立刻更新到CCR寄存器__HAL_TIM_ENABLE_OCxFAST()启用一个通道的快速模式__HAL_TIM_DISABLE_OCxFAST()禁用一个通道的快速模式HAL_TIM_PWM_PulseFinishedCallback()当计数器的值等于CCR寄存器的值时产生输出比较事件,这是对应的回调函数定时器中断事件中断事件类型事件名称回调函数TIM_IT_CC1CC1通道输入捕获HAL_TIM_IC_CaptureCallback(htim)CC1通道输出比较HAL_TIM_OC_DelayElapsedCallback(htim);HAL_TIM_PWM_PulseFinishedCallback(htim);TIM_IT_CC2CC2通道输入捕获HAL_TIM_IC_CaptureCallback(htim)CC2通道输出比较HAL_TIM_OC_DelayElapsedCallback(htim);HAL_TIM_PWM_PulseFinishedCallback(htim);TIM_IT_CC3CC3通道输入捕获HAL_TIM_IC_CaptureCallback(htim)CC3通道输出比较HAL_TIM_OC_DelayElapsedCallback(htim);HAL_TIM_PWM_PulseFinishedCallback(htim);TIM_IT_CC4CC4通道输入捕获HAL_TIM_IC_CaptureCallback(htim)CC4通道输出比较HAL_TIM_OC_DelayElapsedCallback(htim);HAL_TIM_PWM_PulseFinishedCallback(htim);TIM_IT_UPDATE更新事件(UEV)HAL_TIM_PeriodElapsedCallback(htim);TIM_IT_TRIGGERTRGI触发事件HAL_TIM_TriggerCallback(htim);TIM_IT_BREAK短路输入事件HAL_TIMEx_BreakCallback(htim);TIM_IT_COM换相事件HAL_TIMEx_CommutCallback(htim);生成PWM示例使用TIM2的通道CH1先输出固定占空比的PWM波,然后通过修改程序输出可变占空比的PWM波,实现呼吸灯效果输出PWM示例输出比较示例(翻转模式)利用TIM2_CH1的输出比较功能中的翻转模式,控制PA0引脚间隔500ms进行电平翻转,从而使LED1闪烁输出比较示例(翻转模式)输入捕获简介IC(InputCapture)输入捕获,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数每个高级定时器和通用定时器都拥有4个输入捕获通道可配置为PWMI模式,同时测量频率和占空比可配合主从触发模式,实现硬件全自动测量频率测量闸门时间T标准频率fc中界频率fm计次N计次N

输入捕获通道输入滤波边沿检测信号选择分频直接间接PWMI工作原理CNT++CCR1=CNT↑↓CNT++CCR2=CNTCNT会一直累加到ARR才溢出清零通道1捕获上升沿通道2捕获下降沿从模式控制器TRGI(TriggerInput)触发输入TRGO(TriggerOutput)触发输出从触发模式TRGIITR0ITR1ITR2ITR3TI1F_EDTI1FP1TI2FP2ETRF触发源选择8种从模式Closed:禁止,不通过TRGI接收控制信号Encoder1:编码器模式1Encoder2:编码器模式2Encoder3:编码器模式3Reset:复位模式,TRGI的上升沿对CNT清零Gated:门模式,TRGI=高,总开关闭合;TRGI=低,总开关断开Trigger:触发模式,TRGI上升沿闭合总开关External1:外部时钟模式1,TRGI作为时基单元的时钟来源主触发模式8种主模式TRGOReset:复位,手动产生Update事件时TRGO输出脉冲Enable:使能,总开关闭合,TRGO=1;反之TRGO=0Update:每个Update事件,TRGO输出脉冲OC1:比较脉冲OC1REF:OC1REF作为TRGOOC2REF:OC2REF作为TRGOOC3REF:OC3REF作为TRGOOC4REF:OC4REF作为TRGO输入捕获示例利用定时器TIM2的CH1通道来输出PWM信号,该通道对应的引脚是PA0,也就是与LED1相连的引脚。同时使用Key1和Key2按键调整输出PWM信号的脉宽。利用定时器TIM1的PWM输入功能来测量PWM信号的参数。TIM1的输入通道TIM1_CH1复用的是引脚PA8。如下图所示,需要用杜邦线将PA0和PA8两个引脚相连。输入捕获示例输入捕获示例输入捕获示例增量型旋转编码器顺时针旋转逆时针旋转上升沿

下降沿低电平

高电平上升沿

下降沿高电平

低电平增量型旋转编码器360°÷20=18°/pulse捕获到脉冲数量就能计算出旋转的角度

温馨提示

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

评论

0/150

提交评论