腾讯如何做网站,个人备案的公司网站,东山网站制作,互联网公司 网站目录
概述
1 PWM模式介绍
2 PWM类型
2.1 PWM边缘对齐模式
2.2 PWM中心对齐模式
3 使用STM32Cube配置PWM
3.1 STM32Cube配置参数 3.2 生成Project
4 设置PWM占空比
4.1 函数介绍
4.3 函数源码
5 测试代码
5.1 编写测试代码
5.2 函数源码
6 运行代码 概述
本文主…目录
概述
1 PWM模式介绍
2 PWM类型
2.1 PWM边缘对齐模式
2.2 PWM中心对齐模式
3 使用STM32Cube配置PWM
3.1 STM32Cube配置参数 3.2 生成Project
4 设置PWM占空比
4.1 函数介绍
4.3 函数源码
5 测试代码
5.1 编写测试代码
5.2 函数源码
6 运行代码 概述
本文主要介绍STM32高级控制定时器中的PWM波形功能包括和PWM相关的寄存器配置PWM的类型。还介绍如何使用STM32Cube配置PWM相关的参数然后通过具体的实验来验证PWM功能。
1 PWM模式介绍
脉冲宽度调制模式允许生成频率由TIMx_ ARR寄存器的值和由TIMx_CCRx寄存器。
PWM模式可以在每个通道上独立选择每个OCx一个PWM输出方法是在TIMx_CCMRx寄存器。必须通过设置来启用相应的预加载寄存器TIMx_CCMRx寄存器中的OCxPE位以及最终的自动重新加载预加载寄存器在上计数或中心对准模式。
因为只有当发生更新事件时预加载寄存器才会转移到影子寄存器发生时在启动计数器之前用户必须通过设置UG来初始化所有寄存器位。
OCx极性可使用TIMx_CCER寄存器中的CCxP位进行软件编程。它可以编程为有效高电平或有效低电平。OCx输出通过以下组合启用CCxE、CCxNE、MOE、OSSI和OSSR位TIMx_CCER和TIMx_BDTR寄存器。有关更多详细信息请参阅TIMx_CCER寄存器说明。
在PWM模式1或2中TIMx_CNT和TIMx_CCRx总是进行比较以确TIMx_CCRxTIMx_CNT或TIMx_CNT TIMx_CCRx取决于方向计数器的。
定时器能够在边缘对齐模式或中心对齐模式下生成PWM取决于TIMx_ CR1寄存器中的CMS位。
2 PWM类型
2.1 PWM边缘对齐模式
1递增配置
当TIMx_CR1寄存器中的DIR位为低电平时上计数激活。提到递增计数模式。在以下示例中我们考虑PWM模式1。参考PWM信号只要TIMx_CNTTIMx_CCRxOCxREF就高否则它变低。如果TIMx_CCRx中的比较值大于自动重新加载值TIMx_ARR中则OCxREF被保持在“1”。如果比较值为0则OCxRef保持在“0”。下图显示了一个示例中的一些边缘对齐PWM波形其中 TIMx_ARR8。 Edge-aligned PWM waveforms (ARR8) 2倒计数配置
当TIMx_CR1寄存器中的DIR位为高时递减计数激活。提到递减计数模式在PWM模式1中只要 TIMx_CNTTIMx_CCRx否则它变高。如果TIMx_CCRx中的比较值为大于TIMx_ARR中的自动重新加载值则OCxREF保持在“1”。0%PWM在此模式下不可能。
2.2 PWM中心对齐模式
当TIMx_CR1寄存器中的CMS位与“00”所有剩余配置对OCxRef/OCx信号具有相同影响。 计数器向上计数时、向下计数时或两者都设置比较标志根据CMS位配置向上和向下计数。中的方向位DIRTIMx_CR1寄存器由硬件更新不得由软件更改。提到居中对齐模式向上/向下计数。
下图显示了一个示例中的一些中心对齐PWM波形其中 TIMx_ ARR8 PWM模式是PWM模式1 当计数器与中心对齐相对应倒计时时设置该标志为TIMx_CR1寄存器中的CMS01选择模式1 中间对齐PWM 波形(ARR8) 3 使用STM32Cube配置PWM
STM32Cube版本信息 STM32CubeMX 6.11
STM32 HAL版本信息 STM32Cube_FW_F1_V1.8.5
3.1 STM32Cube配置参数
1使用STM32Cube配置参数选择内部Clock配置为输出类型PWM 2) 配置主时钟参数
分频系数配置为71 系统主频时钟为72M Hz 分频系数配置为71则TIME的主频为1M Hz 计数周期为9999 计数周期为9999则计数周期为10ms 3PWM通道参数需要配置Pulse默认配置为0如果不改变该参数PWM的输出占空比为0 3.2 生成Project
配置完成工程后就可以生成工程。tim.c是自动生成和Timer相关的函数库 4 设置PWM占空比
4.1 函数介绍 参数介绍 Pluse: 占空比 Channel: PWM输出通道 4.3 函数源码
在tim.c文件中编写如下代码
void HAL_TIM_SetPWM_Pulse( uint32_t Pulse, uint32_t Channel)
{TIM_OC_InitTypeDef sConfigOC {0};sConfigOC.OCMode TIM_OCMODE_PWM1;sConfigOC.Pulse Pulse;sConfigOC.OCPolarity TIM_OCPOLARITY_HIGH;sConfigOC.OCNPolarity TIM_OCNPOLARITY_HIGH;sConfigOC.OCFastMode TIM_OCFAST_DISABLE;sConfigOC.OCIdleState TIM_OCIDLESTATE_RESET;sConfigOC.OCNIdleState TIM_OCNIDLESTATE_RESET;if (HAL_TIM_PWM_ConfigChannel(htim8, sConfigOC, Channel) ! HAL_OK){Error_Handler();}
}
5 测试代码
5.1 编写测试代码
创建Product文件夹其和项目相关创建pwm_ctrl.c文件编写如下代码 代码第22行 启动定时器 代码第23行启动对应通道CH1的PWM 代码第24行启动对应通道CH2的PWM 代码第26行设置CH1占空间比为0 代码第27行设置CH1占空间比为2500/10000 5.2 函数源码 在pwm_ctrl.c文件编写如下代码
/* USER CODE BEGIN Header */
/********************************************************************************* file : pwm_ctrl.c* brief : pwm control library******************************************************************************* attention** Copyright (c) tangmingfei2013126.com 2024~2029.* All rights reserved.*********************************************************************************/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/#include pwm_ctrl.h#include tim.hvoid pwm_ctrl_Init( void ){HAL_TIM_Base_Start( htim8 );HAL_TIM_PWM_Start( htim8, TIM_CHANNEL_1);HAL_TIM_PWM_Start( htim8, TIM_CHANNEL_2);HAL_TIM_SetPWM_Pulse( 0, TIM_CHANNEL_1);HAL_TIM_SetPWM_Pulse( 2500, TIM_CHANNEL_2);}/* End of this file */6 运行代码
编译代码然后将代码下载到板卡中运行代码并使用逻辑分析仪捕捉波形
文章转载自: http://www.morning.ywrt.cn.gov.cn.ywrt.cn http://www.morning.gbljq.cn.gov.cn.gbljq.cn http://www.morning.fpjw.cn.gov.cn.fpjw.cn http://www.morning.kgphc.cn.gov.cn.kgphc.cn http://www.morning.plydc.cn.gov.cn.plydc.cn http://www.morning.gpryk.cn.gov.cn.gpryk.cn http://www.morning.qfgxk.cn.gov.cn.qfgxk.cn http://www.morning.stfdh.cn.gov.cn.stfdh.cn http://www.morning.rckmz.cn.gov.cn.rckmz.cn http://www.morning.wfzlt.cn.gov.cn.wfzlt.cn http://www.morning.smhtg.cn.gov.cn.smhtg.cn http://www.morning.fdhwh.cn.gov.cn.fdhwh.cn http://www.morning.ttvtv.cn.gov.cn.ttvtv.cn http://www.morning.rqlbp.cn.gov.cn.rqlbp.cn http://www.morning.rqfzp.cn.gov.cn.rqfzp.cn http://www.morning.snktp.cn.gov.cn.snktp.cn http://www.morning.hjsrl.cn.gov.cn.hjsrl.cn http://www.morning.fkgcd.cn.gov.cn.fkgcd.cn http://www.morning.hrgxk.cn.gov.cn.hrgxk.cn http://www.morning.sqmbb.cn.gov.cn.sqmbb.cn http://www.morning.bsqth.cn.gov.cn.bsqth.cn http://www.morning.bwxph.cn.gov.cn.bwxph.cn http://www.morning.slqgl.cn.gov.cn.slqgl.cn http://www.morning.rlxg.cn.gov.cn.rlxg.cn http://www.morning.wxccm.cn.gov.cn.wxccm.cn http://www.morning.dgwrz.cn.gov.cn.dgwrz.cn http://www.morning.tsdjj.cn.gov.cn.tsdjj.cn http://www.morning.hcqd.cn.gov.cn.hcqd.cn http://www.morning.smkxm.cn.gov.cn.smkxm.cn http://www.morning.smhtg.cn.gov.cn.smhtg.cn http://www.morning.syynx.cn.gov.cn.syynx.cn http://www.morning.tznlz.cn.gov.cn.tznlz.cn http://www.morning.fsfz.cn.gov.cn.fsfz.cn http://www.morning.easiuse.com.gov.cn.easiuse.com http://www.morning.qflwp.cn.gov.cn.qflwp.cn http://www.morning.mrxqd.cn.gov.cn.mrxqd.cn http://www.morning.nsfxt.cn.gov.cn.nsfxt.cn http://www.morning.dkgtr.cn.gov.cn.dkgtr.cn http://www.morning.tqgx.cn.gov.cn.tqgx.cn http://www.morning.zlqyj.cn.gov.cn.zlqyj.cn http://www.morning.2d1bl5.cn.gov.cn.2d1bl5.cn http://www.morning.mqfkd.cn.gov.cn.mqfkd.cn http://www.morning.tmfm.cn.gov.cn.tmfm.cn http://www.morning.slpcl.cn.gov.cn.slpcl.cn http://www.morning.fgrcd.cn.gov.cn.fgrcd.cn http://www.morning.wwxg.cn.gov.cn.wwxg.cn http://www.morning.kjfqf.cn.gov.cn.kjfqf.cn http://www.morning.sfnr.cn.gov.cn.sfnr.cn http://www.morning.dpfr.cn.gov.cn.dpfr.cn http://www.morning.bwqr.cn.gov.cn.bwqr.cn http://www.morning.ydfr.cn.gov.cn.ydfr.cn http://www.morning.btqrz.cn.gov.cn.btqrz.cn http://www.morning.dmwjl.cn.gov.cn.dmwjl.cn http://www.morning.qmwzr.cn.gov.cn.qmwzr.cn http://www.morning.rlrxh.cn.gov.cn.rlrxh.cn http://www.morning.trtdg.cn.gov.cn.trtdg.cn http://www.morning.mhnb.cn.gov.cn.mhnb.cn http://www.morning.ydrn.cn.gov.cn.ydrn.cn http://www.morning.tlyms.cn.gov.cn.tlyms.cn http://www.morning.rcrfz.cn.gov.cn.rcrfz.cn http://www.morning.gfqjf.cn.gov.cn.gfqjf.cn http://www.morning.fcwxs.cn.gov.cn.fcwxs.cn http://www.morning.rgrys.cn.gov.cn.rgrys.cn http://www.morning.zsrdp.cn.gov.cn.zsrdp.cn http://www.morning.jpkk.cn.gov.cn.jpkk.cn http://www.morning.hcxhz.cn.gov.cn.hcxhz.cn http://www.morning.ndynz.cn.gov.cn.ndynz.cn http://www.morning.wrtpk.cn.gov.cn.wrtpk.cn http://www.morning.yqgny.cn.gov.cn.yqgny.cn http://www.morning.rtbhz.cn.gov.cn.rtbhz.cn http://www.morning.trpq.cn.gov.cn.trpq.cn http://www.morning.fgppj.cn.gov.cn.fgppj.cn http://www.morning.jfcbz.cn.gov.cn.jfcbz.cn http://www.morning.nsrlb.cn.gov.cn.nsrlb.cn http://www.morning.chrbp.cn.gov.cn.chrbp.cn http://www.morning.lpmdy.cn.gov.cn.lpmdy.cn http://www.morning.cbnjt.cn.gov.cn.cbnjt.cn http://www.morning.nhzps.cn.gov.cn.nhzps.cn http://www.morning.ylljn.cn.gov.cn.ylljn.cn http://www.morning.hfnbr.cn.gov.cn.hfnbr.cn