qiangxiaochen 发表于 2014-8-6 15:57:10

为什么飞思卡尔单片机的ECT里的ECT_TCTL4开启下降沿检测后...


如上图,我想要检测PWM波的占空比和频率,
那么我是先开启上升沿检测,
    ECT_TCTL4_EDG0A = 1;
    ECT_TCTL4_EDG0B = 0;
这样当PWM波有个上升沿时,进入中断,然后再开启下降沿检测,
    ECT_TCTL4_EDG0A = 1;
    ECT_TCTL4_EDG0B = 1;
现在问题来了,如上图,图中第一个上升沿0到来后,第一次进入中断,然后开启下降沿检测,然后继续检测,当出现下降沿1时,程序不会进入中断,然后直到下降3出现后,程序才会进入中断。
不知我描述的大家明白吗?
明白的话,大家讨论下,是怎么回事呢?
飞思卡尔的版主,这个是怎么回事呢?

swap2013 发表于 2014-8-6 16:40:44

用08测过脉冲宽度,当时没问题的
如果我碰到你这种情况,修改边沿模式时,整个初始化都重做一遍。

qiangxiaochen 发表于 2014-8-6 17:29:41

2楼没有理解我的问题啊,我是想问,为什么开启下降沿检测后,在随后的下降沿出现时,为什么不能进入中断?

地主阿山 发表于 2014-8-6 18:02:40

你的上升沿0到下降沿1有多少时间呢?
如果中断执行程序过长,可能你修改完设置退出中断时,已经错过了下降沿1呢

地主阿山 发表于 2014-8-6 18:03:07

地主阿山 发表于 2014-8-6 18:02
你的上升沿0到下降沿1有多少时间呢?
如果中断执行程序过长,可能你修改完设置退出中断时,已经错过了下降 ...

没有用过ECT, 只是猜测。

qiangxiaochen 发表于 2014-8-6 19:29:18

上升沿0到下降沿1时间是500us,整个PWM波的周期是1ms,占空比是50%

Ai_evan 发表于 2014-8-6 22:40:24

没有用过,多尝试几次
页: [1]
查看完整版本: 为什么飞思卡尔单片机的ECT里的ECT_TCTL4开启下降沿检测后...