OpenEdv-开源电子网

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

PWM精确脉冲计数

[复制链接]

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2016-5-3 20:39:25 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 来俩不甜的 于 2016-5-3 21:14 编辑

看了两三个帖子都是通过关闭定时器来实现的,我写的为什么不行呢?我只是通过[mw_shl_code=applescript,true]TIM_Cmd(TIM3, ENABLE);
TIM_Cmd(TIM3, DISABLE);[/mw_shl_code]来开关的,是不是还要设置别的什么东西?后来我发现不需要关闭定时器也可以实现精确计数。[mw_shl_code=applescript,true]当输出比较模式(TIMx_CCMRx寄存器中的OCxM位)从“冻结” (无比较, OCxM=’000’)切
换到某个PWM模式(OCxM=’110’或’111’)。
这样在运行中可以通过软件强置PWM输出。
中文参考手册270页第一句话。[/mw_shl_code]
主程序大循环如下:
[mw_shl_code=applescript,true]         while(1)
        {
                 delay_ms(500);        
                delay_ms(500);        delay_ms(500);                        
                              
                TIM3 -> CCMR1 &= ~(7 << 12);
                delay_ms(500);        
                delay_ms(500);        delay_ms(500);        
                TIM3 -> CCMR1 |= (7 << 12);
        }        [/mw_shl_code]
知道的帮忙回答一下,为什么开关定时器实现不了精确脉冲输出,我这种写法有什么不妥的地方吗,为什么看不到有人这样写

我有故事,你有酒吗
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

144

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1132
金钱
1132
注册时间
2015-7-31
在线时间
155 小时
发表于 2016-5-3 21:08:16 | 显示全部楼层
你的思路是开定时器,然后延时一段时间关定时器来控制PWM输出的个数么?
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
 楼主| 发表于 2016-5-3 21:11:54 | 显示全部楼层
lx911gt 发表于 2016-5-3 21:08
你的思路是开定时器,然后延时一段时间关定时器来控制PWM输出的个数么?

这是我在家这么随便一写试试的,公司的程序忘记拿回来了,我是在定时器溢出中断里边标志位 +1 ,到设定次数后才会关闭定时器
我有故事,你有酒吗
回复

使用道具 举报

21

主题

144

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1132
金钱
1132
注册时间
2015-7-31
在线时间
155 小时
发表于 2016-5-3 21:18:18 | 显示全部楼层
哦,更新中断我也试过,记得好像的确是会出现问题,比较输出你可以试试先
回复

使用道具 举报

7

主题

247

帖子

0

精华

高级会员

Rank: 4

积分
745
金钱
745
注册时间
2016-1-20
在线时间
78 小时
发表于 2016-5-4 08:17:07 | 显示全部楼层
最近老是看到这样的帖子!但只自己还是没有研究过。
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
 楼主| 发表于 2016-5-4 09:25:45 | 显示全部楼层
貌似在中断里边操作不行,我在大循环里边操作可以,改成在中断里边操作的话就不输出PWM了
我有故事,你有酒吗
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-9 12:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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