OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8047|回复: 2

【个人理解】关于PWM中TIM_OCPolarity的电平控制问题

[复制链接]

7

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2018-1-3
在线时间
15 小时
发表于 2018-1-20 14:48:47 | 显示全部楼层 |阅读模式
平台STM32F407+HAL库
TIM14输出PWM时,TIM_OCPolarity控制PWM的输出电平问题,需要结合TIM_OCMode两者共同决定。

以下是个人理解:(如有错误,欢迎朋友指正)
(1)PWM1模式
        TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM1;      //PWM1模式下针对的是跳变后的电平情况  
        TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High;   //到达跳变值TIM_Pulse,电平跳变为高电平   
        TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_Low;    //到达跳变值TIM_Pulse,电平跳变为低电平

(2)PWM2模式   
        TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM2;      //PWM2模式下针对的是跳变前的电平情况
        TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High;   //跳变值到达TIM_Pulse之前,输出高电平
        TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_Low;    //跳变值到达TIM_Pulse之前,输出低电平

以上是用HAL库配置PWM实验时遇到的一些疑惑点,自己结合网上零零散散的讲解,写出的一些理解,如果有误,希望指正。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2018-1-3
在线时间
15 小时
 楼主| 发表于 2018-1-20 14:49:10 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2019-10-6
在线时间
1 小时
发表于 2019-10-16 14:32:31 | 显示全部楼层
同志,你的PWM1和PWM2好像说反了。我试了一下我的STM32F4探索者,发现应该是
   //PWM1模式下针对的是跳前的电平情况  
  //PWM2模式下针对的是跳变后的电平情况  

作者再验证一下,如果是我的错的话还请回复我一下谢谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-16 17:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表