OpenEdv-开源电子网

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

关于IO口在输出PWM时,输出极性的问题

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2019-10-30
在线时间
1 小时
发表于 2019-10-30 01:46:38 | 显示全部楼层 |阅读模式
1金钱
我今天试做了一下例程里面的PWM输出实验,发现没法实现如教程的效果,PB5上所接的LED并非呼吸效果,而是呈现常亮的状态。
查了一遍代码,确定是初始化当中出现的问题,后来把初始化时的:
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
改为了:
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
实验就成功了。
想请问大家,这是什么原因呢?
理论上输出极性应当只影响PWM波中,每个周期正负电平的先后次序,因此并不会影响到这个实验的现象才对。

最佳答案

查看完整内容[请看2#楼]

极性变了输出PWM波的高低电平就反向了,而呼吸灯效果占空比调节只是在一个很小占空比区间内调节的,如果极性改变了,灯的亮灭状态就会发生改变,如果极性改变后依然要实现呼吸灯效果,就要修改占空比调节区间。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2019-10-30 01:46:39 | 显示全部楼层
极性变了输出PWM波的高低电平就反向了,而呼吸灯效果占空比调节只是在一个很小占空比区间内调节的,如果极性改变了,灯的亮灭状态就会发生改变,如果极性改变后依然要实现呼吸灯效果,就要修改占空比调节区间。
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2019-10-30
在线时间
1 小时
 楼主| 发表于 2019-10-30 17:50:19 | 显示全部楼层
HXYDJ 发表于 2019-10-30 13:13
极性变了输出PWM波的高低电平就反向了,而呼吸灯效果占空比调节只是在一个很小占空比区间内调节的,如果极 ...

谢谢回答,我尝试一下再补上后续!
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2019-10-30
在线时间
1 小时
 楼主| 发表于 2019-10-30 18:01:27 | 显示全部楼层
HXYDJ 发表于 2019-10-30 13:13
极性变了输出PWM波的高低电平就反向了,而呼吸灯效果占空比调节只是在一个很小占空比区间内调节的,如果极 ...

再次感谢,确实如此,仔细想了一下,也有道理,昨天熬夜可能有点糊涂了,哈哈。
因为CCR变动区间太小([0, 300],而arr=899),并且由于极性设置为high,导致LED亮度永远不会达到0,而且亮度变化也很微弱,所以没有明显的实验现象。
当我把变化区间设置为[0, 800],就可以观察到肉眼可见的实验现象了。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-30 19:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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