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

time1定时器

[复制链接]
飞翼我的心 提问时间:2016-11-19 14:44 /
悬赏10ST金币未解决
我现在用time1输出一个固定频率的pwm,我打算在中断里控制其高电平(比如每三个高电平关闭pwm输出),可行吗

收藏 1 评论14 发布时间:2016-11-19 14:44

举报

14个回答
xhzheng 回答时间:2016-11-19 14:58:46
不如直接计算好频率就OK了,
不需要那么麻烦;
飞翼我的心 回答时间:2016-11-19 15:04:03
xhzheng 发表于 2016-11-19 14:58
不如直接计算好频率就OK了,
不需要那么麻烦;

你意思改变pwm输出频率?
zhangxu56726 回答时间:2016-11-19 15:42:26
可以,我这么用过
zhangxu56726 回答时间:2016-11-19 15:42:42
可以,我这么用过
飞翼我的心 回答时间:2016-11-19 15:46:05

用的输入捕获还是啥,能具体说说吗
zhangxu56726 回答时间:2016-11-19 15:50:20
飞翼我的心 发表于 2016-11-19 15:46
用的输入捕获还是啥,能具体说说吗

打开tim1比较中断,把计算好的值,在中断里设置高电平就可以了

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

飞翼我的心 回答时间:2016-11-19 15:54:06
zhangxu56726 发表于 2016-11-19 15:50
打开tim1比较中断,把计算好的值,在中断里设置高电平就可以了

没懂,什么叫把计算好的值设置为高电平?
wdshuang09 回答时间:2016-11-19 22:56:09
可以的,检测三个周期就有三次是高电平,用一个变量计数,计数到后关闭PWM即可

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

peter001 回答时间:2016-11-20 11:00:18
楼主是想在中断里改变PWM波的高电平脉冲宽度是不是?如果这个目的,是可以在中断中写入新的CCRx寄存器值,达到改变脉宽的目的。也可以不用中断,设置OCxPE,可以在中断外部改变CCRx寄存器,定时器更新时自动加载。 pe.jpg
如果楼主是想输出特定数量的PWM波,比如想输出3个50%占空比的方波,ARR寄存器设置你的pwm频率,CCRx寄存器设置为ccrx=arr/2,可以在中断里设置计数变量,到达需要数目关闭定时器输出,也可以使用TIMx_RCR寄存器相关用法,自动计数输出。
rcr.jpg
pe.jpg

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

飞翼我的心 回答时间:2016-11-21 09:35:33
peter001 发表于 2016-11-20 11:00
楼主是想在中断里改变PWM波的高电平脉冲宽度是不是?如果这个目的,是可以在中断中写入新的CCRx寄存器值, ...

回答挺细心,但是我现在用tim1已经输出一个频率固定,占空比固定的pwm了,我打算控制让其实现每三个高电平就停止pwm输出(应该在中断里)
忘记一切Q 回答时间:2016-11-21 09:57:04
zhulikai 回答时间:2016-11-21 13:00:42
帮顶
原田夜舞love 回答时间:2016-11-21 22:08:46
没用过
中山无雪 回答时间:2016-11-21 22:20:44
用外部中断也可以

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版