OpenEdv-开源电子网

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

请教关于定时器PWM的更新中断处理

[复制链接]

37

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2012-1-25
在线时间
1 小时
发表于 2012-4-19 15:12:27 | 显示全部楼层 |阅读模式
请教关于定时器PWM的更新中断处理
我看了这个贴:http://bbs.21ic.com/viewthread.php?tid=175841&extra=&highlight=pwm&page=1
里面5楼处提到:在更新中断中改变参数,这样就不会有任何的停顿。

有几个问题想请教下。
1. 什么叫更新中断?对于定时器3来说,是指这个吗?
void TIM3_IRQHandler(void)
{
  if(TIM3->SR&0X0001)//溢出中断
  {
     ....     //A处
  }
  TIM3->SR&=~(1<<0);//清除中断标志位
}

2. 如果问题1正确,那如果我要改CCR2的参数(更改pwm的占空比),那是在上面A处那里赋值给CCR2吗?

3. 定时器3来产生PWM信号,那么定时器3的更新中断是和它的PWM信号更新中断是指同一样东西吗?

4. 假设当前定时器周期的计数器溢出/下溢时,产生了更新中断,而在更新中断里面赋新值给CCR2(新的占空比),那么接下来的定时器周期是马上使用新的占空比吗?

5. 如果问题4成立,那么在更新中断做了一些判断等处理,导致有3uS或5uS的处理时间,那么这3uS或5uS中,PWM是输出什么信号的?是延续上一个波形的电平吗?如果这个更新中断的处理很长,那是不是要等更新中断里面的代码都执行完,才产生下一个pwm波?但这样的话,上一个PWM波的周期不就变了?


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-19 16:09:02 | 显示全部楼层
回复【楼主位】gz_ddc:
---------------------------------
何不自己研究一下,然后解答你自己的1~5?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

37

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2012-1-25
在线时间
1 小时
 楼主| 发表于 2012-4-19 16:21:54 | 显示全部楼层
研究过啦,不懂啊,唉。

回复【2楼】正点原子:
---------------------------------
回复 支持 反对

使用道具 举报

37

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2012-1-25
在线时间
1 小时
 楼主| 发表于 2012-4-19 16:28:39 | 显示全部楼层
你答我啦。

回复【2楼】正点原子:
---------------------------------
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-19 17:31:54 | 显示全部楼层
1,可以在<<STM32参考手册>>找到答案.
2,可以自己试验.
3,何谓PWM信号更新中断?
4,请看ARPE功能.
5,先解决4,然后自行试验解决问题5.

 
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

37

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2012-1-25
在线时间
1 小时
 楼主| 发表于 2012-4-19 17:58:24 | 显示全部楼层
这个pwm软件仿真不了,我也没有数字存储示波器,比较难搞。还望多多指点。
>>1,可以在<<STM32参考手册>>找到答案. 
我找不到,只是见到TIM1和TIM8有自己的单独更新中断,TIM2-7都只有全局中断。也就是我的第一点是对的是吗?
>>4,请看ARPE功能. 
我看<<STM32参考手册>>257,258页关于ARPE的时序,看不明白,你看计数器溢出,同时就发生了一个更新事件。那有了这个更新事件是不是进了更新中断?那更新中断中对CCR2进行了修改,那究竟是接下来的周期是用新的CCR2的值,还是再后一个周期用新的CCR2 的值?如果更新中断处理时间比较长,那么处理更新中断的这段时间,PWM波是输出什么东西的啊?

回复【5楼】正点原子:
---------------------------------
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 14:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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