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

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

查看全部评分

12下一页

所属标签

相似问题

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