OpenEdv-开源电子网

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

求按键控制PWM的方法

[复制链接]

17

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2016-7-24
在线时间
107 小时
发表于 2016-8-17 12:01:43 | 显示全部楼层 |阅读模式
20金钱
求按键控制PWM的方法,
我用的战舰带的例程,按键控制led反转可以,我在PWM那一节的例程加上按键控制,怎么都不能实现按键控制PWM输出的增加和减少,
是不是要用中断,还是什么办法,谁能指导一下?????

最佳答案

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

如果是占空比调节的话你可以查阅STM32F10xxx_固件函数库,里面有个TIM_SetCompare1(TIMx,CRR);函数, 这个函数可以用来直接设定通用定时器和高级定时器TIMx 的占空比,CRR代表TIM_Pulse的值, TIM_SetComparex中x数字代表定时器的通道。 想用按键控制PWM占空比增大减小就先初始化PWM模式, 然后用按键控制CRR参数增大或者减小,再调用TIM_SetCompare1(TIMx,CRR)函数(这里举例的是改变通道1) 占空比=(TIM_Pulse+1)/(TIM_Peri ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-12-11
在线时间
53 小时
发表于 2016-8-17 12:01:44 | 显示全部楼层
如果是占空比调节的话你可以查阅STM32F10xxx_固件函数库,里面有个TIM_SetCompare1(TIMx,CRR);函数,
这个函数可以用来直接设定通用定时器和高级定时器TIMx 的占空比,CRR代表TIM_Pulse的值,
TIM_SetComparex中x数字代表定时器的通道。
想用按键控制PWM占空比增大减小就先初始化PWM模式,
然后用按键控制CRR参数增大或者减小,再调用TIM_SetCompare1(TIMx,CRR)函数(这里举例的是改变通道1)
占空比=(TIM_Pulse+1)/(TIM_Period+1)
Try again and there is nothing left to say.
回复

使用道具 举报

17

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2016-7-24
在线时间
107 小时
 楼主| 发表于 2016-8-17 12:02:27 | 显示全部楼层
哪位大神可以回答一下么
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-8-17 12:31:31 | 显示全部楼层
花一天的时间看懂PWM实验,控制PWM就是改API函数的参数而已
回复

使用道具 举报

17

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2016-7-24
在线时间
107 小时
 楼主| 发表于 2016-8-17 13:54:14 | 显示全部楼层
zuozhongkai 发表于 2016-8-17 12:31
花一天的时间看懂PWM实验,控制PWM就是改API函数的参数而已

仅用按键控制pwm用不到API函数吧
回复

使用道具 举报

6

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-12-11
在线时间
53 小时
发表于 2016-8-17 14:08:33 | 显示全部楼层
楼主说的PWM增加或者减少的意思是指占空比可调大调小吗?
Try again and there is nothing left to say.
回复

使用道具 举报

17

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2016-7-24
在线时间
107 小时
 楼主| 发表于 2016-8-17 18:25:16 | 显示全部楼层
墨黥天 发表于 2016-8-17 14:24
如果是占空比调节的话你可以查阅STM32F10xxx_固件函数库,里面有个TIM_SetCompare1(TIMx,CRR);函数,
这个 ...

太感谢了,回答的很完美
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-2 20:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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