你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32 PWM输出极性的实验

[复制链接]
STMCU小助手 发布时间:2022-5-2 09:04
在PWM模式2中,CNT<CCR时输出无效电平,CNT>CCR时输出有效电平。

PWM的有效输出电平在TIMx_CCER寄存器设置。

D34@M5J}%4OFM[FOO8}2)VP.png

TIMx_CCER.1为0,OC1高电平有效;TIMx_CCER.1为1,OC1低电平有效。其他通道同理。

在PWM初始化函数中,通过TIM_OCInitStructure.TIM_OCPolarity设置输出极性,

  1.     //配置PWM模式(TIMx_CCMR)
  2.     TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
  3.     //配置输出使能(TIMx_CCER)  0:禁止输出  1:输出到对应引脚
  4.     TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  5.     //配置输出极性(TIMx_CCER)  0:OCx高电平有效  1:OCx低电平有效
  6.     TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
  7.     //配置CCR寄存器(TIMx_CCRx) 16位宽
  8.     TIM_OCInitStructure.TIM_Pulse = 64;
  9.     TIM_OC2Init(TIM3, &TIM_OCInitStructure);
复制代码

如下代码摘自库函数TIM_OC2Init,说明在PWM初始化过程中确实是通过配置CCER寄存器对应位设置PWM的输出极性。

  1.   tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCPolarity << 4);
复制代码

下面通过示波器实验PWM的输出极性控制,

  1.     //配置PWM模式(TIMx_CCMR)
  2.     TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
  3.     //配置输出使能(TIMx_CCER)  0:禁止输出  1:输出到对应引脚
  4.     TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  5.     //配置输出极性(TIMx_CCER)  0:OCx高电平有效  1:OCx低电平有效
  6.     TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
  7.     //配置CCR寄存器(TIMx_CCRx) 16位宽
  8.     TIM_OCInitStructure.TIM_Pulse = 64;
  9.     TIM_OC2Init(TIM3, &TIM_OCInitStructure);

  10.     //使能OC2的预装载寄存器(TIMx_CCMR.11)
  11.     TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);
  12.                
  13.     //TIM_Cmd(TIM3, ENABLE);
复制代码

如上代码设置,初始化TIM_OC2Init后,PWM输出即刻接到对应引脚PA7,此时CCR2寄存器内的值64与定时器计数值比较,因为我们没有打开定时器,所以此时CNT寄存器为0,有CNT < CCR2,在PWM Mode2下,输出无效电平,如上代码设置有效电平为低电平(即无效电平为高电平),因此此时应该输出高电平,
}]`%Q3JTD@`(BVRN$Z}8.png

修改上述代码,将有效电平修改为高电平,

TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;

此时示波器的输出如下,

XWX`J(9)S[T6JM@KR86[VXQ.png





收藏 评论0 发布时间:2022-5-2 09:04

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版