打印

请教香版和各位大侠STM32 定时捕获中断中溢出中断问题

[复制链接]
4050|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pdabug|  楼主 | 2012-11-1 14:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在我的应用中需要连续捕获一串脉冲,使用我tim3的捕获模式中断和溢出中断,
现在碰到的问题是在中断服务程序中:如果这个时候发生溢出,溢出中断不能置位,导致这次的溢出不会再次产生中断,下一次溢出才能产生中断;
问题是:在捕捉中断中如果发生定时器计数溢出能产生中断吗?
沙发
pdabug|  楼主 | 2012-11-1 14:18 | 只看该作者
u16 g_ulTime3OverCount = 0;//溢出次数计数
void TIM3_IRQHandler(void)
{
        u16 usCC3;
        u16 usOF3 =0;
        u16 itstatus =0;
       
    /* enter interrupt */

                //PB0 TIM3-chan3
                //read int status
                itstatus = TIM3->SR;
                TIM_ClearITPendingBit(TIM3, TIM_IT_CC3 | TIM_IT_Update);
                //read trigger first
               
                if(itstatus & TIM_IT_Update)
                {
                        g_ulTime3OverCount++;
                }

                if(itstatus & TIM_IT_CC3)
                {
                        usCC3 = TIM3->CCR3;
                        usOF3 = g_ulTime3OverCount;
                        buf_write(&buf_axis1_pwm2, (u8 *)&usCC3,2);//写缓存
                        buf_write(&buf_axis1_pwm2, (u8 *)&usOF3,2);
                }
}

使用特权

评论回复
板凳
pdabug|  楼主 | 2012-11-1 14:19 | 只看该作者
2楼中断处理代码,谢谢

使用特权

评论回复
地板
pdabug|  楼主 | 2012-11-1 14:23 | 只看该作者
依以前其他mcu的经验只要不是在清标志位
                TIM_ClearITPendingBit(TIM3, TIM_IT_CC3 | TIM_IT_Update);
的这句代码时发生溢出就不会有问题,在文档里也没找到详细说明,能指点下否,谢谢

使用特权

评论回复
5
pdabug|  楼主 | 2012-11-2 10:59 | 只看该作者
有人看看吗

使用特权

评论回复
6
806849108| | 2013-2-26 11:26 | 只看该作者
问题 解决了吗?

使用特权

评论回复
7
uet_cache| | 2013-2-26 12:18 | 只看该作者
溢出中断和更新中断是不同的中断,应该可以进溢出中断吧。两个中断都要使能,楼主试试。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

15

帖子

0

粉丝