注册 登录
查看: 340|回复: 6

FTM双路捕捉到的脉冲数是1

[复制链接]
发表于 2014-6-10 18:47:31 | 显示全部楼层 |阅读模式
用FTM双路捕捉,可是捕会来的脉冲数一直是1,程序是这样的
void FTM2_IRQHandler()
{
     u8 s = FTM2_STATUS;             //读取捕捉和比较状态  All CHnF bits can be checked using only one read of STATUS.
    u8 CHn;
    FTM2_STATUS = 0x00;             //清中断标志位

    CHn = 0;
    if( s & (1 << CHn) )
    {
        FTM_IRQ_DIS(FTM2, CHn);     //禁止输入捕捉中断
        /*     用户任务       */
        pwmtest++;                             //计数+1
        /*********************/
        //不建议在这里开启输入捕捉中断,而是在main函数里根据需要来开启
        //通道 CH0、CH1、Ch2、Ch3 有滤波器
        FTM_IRQ_EN(FTM2, CHn); //开启输入捕捉中断
        //delayms(10);        //因为输入的信号跳变过程不稳定,容易触发多次输入捕捉,所以添加延时
        //但考虑到中断不应该过长延时,所以开输入捕捉中断就放在main函数里,根据需要来开启
    }

    /* 这里添加 n=1 的模版,根据模版来添加 */
    CHn = 1;
    if( s & (1 << CHn) )
    {
        FTM_IRQ_DIS(FTM2, CHn);     //禁止输入捕捉中断
        /*     用户任务       */
        pwmtest1++;                             //计数+1


        /*********************/
        //不建议在这里开启输入捕捉中断,而是在main函数里根据需要来开启
        //通道 CH0、CH1、Ch2、Ch3 有滤波器
        FTM_IRQ_EN(FTM2, CHn); //开启输入捕捉中断
        //delayms(10);        //因为输入的信号跳变过程不稳定,容易触发多次输入捕捉,所以添加延时
        //但考虑到中断不应该过长延时,所以开输入捕捉中断就放在main函数里,根据需要来开启
    }
}

void PIT0_IRQHandler(void)
{
        DisableInterrupts;            //禁止总中断
//        pwmtest = DMA_count_get(DMA_CH0);
//        pwmtest1 = DMA_count_get(DMA_CH1);
//        DMA_count_reset(DMA_CH0);
//        DMA_count_reset(DMA_CH1);
        printf("左电机%d", pwmtest);
        pwmtest = 0;
        printf("  右电机%d\n\n", pwmtest1);
        pwmtest1 = 0;
//        pwmtest = 0;                //清计数
//        pwmtest1 = 0;                //清计数
        PIT_Flag_Clear(PIT0);       //清中断标志位
        EnableInterrupts;                                 //开总中断
}


回复

使用道具 举报

发表于 2014-6-10 19:03:06 | 显示全部楼层
FTM2 原先的例程,是有bug的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-10 19:07:32 | 显示全部楼层
那修复好的上传到哪了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-10 19:07:52 | 显示全部楼层
山外メ雲ジ 发表于 2014-6-10 19:03
FTM2 原先的例程,是有bug的


那修复好的上传到哪了?
回复 支持 反对

使用道具 举报

发表于 2014-6-10 19:08:06 | 显示全部楼层
布衣强 发表于 2014-6-10 19:07
那修复好的上传到哪了?

在bug汇总里手动修复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-10 19:17:11 | 显示全部楼层
山外メ雲ジ 发表于 2014-6-10 19:08
在bug汇总里手动修复

山外哥,不行啊,还是1啊!
回复 支持 反对

使用道具 举报

发表于 2014-6-10 19:38:20 来自手机 | 显示全部楼层
布衣强 发表于 2014-6-10 19:17
山外哥,不行啊,还是1啊!

你用的是输入捕捉?干嘛不用正交解码?
回复 支持 反对

使用道具 举报

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

本版积分规则

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