OpenEdv-开源电子网

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

关于PWM的问题----可不可以在一个周期内,多次修改占空比?

[复制链接]

13

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2012-4-14
在线时间
0 小时
发表于 2014-10-20 20:54:51 | 显示全部楼层 |阅读模式
5金钱
如题,如何在一个自动重装ARR在内,多次修改占空比CCRx,实现PWM波形输出

最佳答案

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

配置出来了,谢谢原子大哥,这几天的恢复,让我有了信心
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2012-4-14
在线时间
0 小时
 楼主| 发表于 2014-10-20 20:54:52 | 显示全部楼层



配置出来了,谢谢原子大哥,这几天的恢复,让我有了信心
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5782
金钱
5782
注册时间
2013-11-22
在线时间
1212 小时
发表于 2014-10-20 22:34:15 | 显示全部楼层
不使能ARPE 就好了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-10-20 22:44:35 | 显示全部楼层
应该可以,你可以自己试试。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

13

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2012-4-14
在线时间
0 小时
 楼主| 发表于 2014-10-23 10:24:34 | 显示全部楼层
回复【2楼】lycreturn:
---------------------------------
不使能ARPE,当修改了ARR值时,会直接修改影子寄存器,这能有用吗?可不可以用中断的方式,ARR为一个周期,产生比较中断时,CCRx为需要修改的值,同时修改CNT为0,使用向上,或者向下计数模式,不能使用中央对其模式。可不可以呢
回复

使用道具 举报

13

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2012-4-14
在线时间
0 小时
 楼主| 发表于 2014-10-23 10:28:32 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
可不可以用中断的方式,ARR为一个周期,产生比较中断时,CCRx为需要修改的值,同时修改CNT为0,使用向上,或者向下计数模式,可不可以呢。比如ARR=100,CCRx={10,20,30,40},这样在100内,就会产生占空比为10%,20%,30%,40%的高低电平跳跃的PWM波了吧
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-10-23 23:30:41 | 显示全部楼层
回复【4楼】十一郎:
---------------------------------
当然可以。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

13

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2012-4-14
在线时间
0 小时
 楼主| 发表于 2014-10-27 16:20:33 | 显示全部楼层



我需要的波形已经产生了,我想请教一下,如果在下一个周期,我想让让此波形电平翻转,为什么此时在中断中修改PWM的模式不行呢?强制转换电平也不可以
[mw_shl_code=c,true] printf("%u\n",TIM3->CNT); TIM3->CR1|=0<<0;// if(i%2==0)TIM3->CCMR1|=4<<12; //强制电平转换 else TIM3->CCMR1|=7<<12; //CH2 PWM2 TIM3->EGR|=1<<0; if(i==38)i=0; TIM3->CCR2=b; i++; printf("%u\n",TIM3->CNT); // printf("%u%u\n\n",TIM3->CCMR1,TIM3->CCR2); TIM3->SR&=~(0x04);// TIM3->CR1|=0x01; //[/mw_shl_code]
上边的程序是中断中的,而且我发现 [mw_shl_code=c,true]TIM3->CR1|=0<<0;关计数器等也不能用,是不是在中断中不能修改PWM模式呢?[/mw_shl_code]


回复

使用道具 举报

13

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2012-4-14
在线时间
0 小时
 楼主| 发表于 2014-10-27 16:21:30 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
嗯,我实现了,但又有了新的问题,看我上边的恢复
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-10-27 17:13:20 | 显示全部楼层
回复【7楼】十一郎:
---------------------------------
这个你要去研究下手册了,没这么用过
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

58

主题

359

帖子

0

精华

高级会员

Rank: 4

积分
987
金钱
987
注册时间
2014-9-29
在线时间
261 小时
发表于 2014-10-29 11:55:10 | 显示全部楼层
-----SPWM?
回复

使用道具 举报

13

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2012-4-14
在线时间
0 小时
 楼主| 发表于 2014-11-11 17:27:03 | 显示全部楼层
回复【11楼】闪电之舞:
---------------------------------
SHEPWM
回复

使用道具 举报

83

主题

400

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2308
金钱
2308
注册时间
2013-8-26
在线时间
230 小时
发表于 2015-1-11 14:33:03 | 显示全部楼层
回复【12楼】十一郎:
---------------------------------
请教,你是用中断的方式修改占空比的吗?(用另外一个定时器修改占空比)
还有你的开关频率是多大的呢?多谢指导!!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-27 09:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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