huhao-2025368 发表于 2015-5-11 14:46:17

输入捕获测量脉宽问题

我用STM32F1xxx来同时对TIMR4的两个输入脉冲进行脉宽测量,我的脉宽测量思路为两次上升沿的捕捉值相减,但现如下问题不解,假如前一个上升沿脉冲时CNT内的值为0xFFFC,那么下一个上升沿时CNT的值发生了溢出又从0开始了,比如第二次捕捉到的CNT中的值为0x0A,那请问这个问题要怎么解决咧,不可能用第二次的值去减第一次捕捉到的值,那这个脉冲要如何计算咧???请各位用过的指教?

安臣 发表于 2015-5-11 15:18:40

if(T1New.long_bank >=T1Old.long_bank)                                               
    Data =T1New.long_bank -T1Old.long_bank;                       
else               
    Data =0xffffffff -T1Old.long_bank +T1New.long_bank;       

对两个通道的值进行比较。   然后根据大小计算 如上
voidIntT1Pro()
{
        TMR1IF =0;
        ThreeBuf ++;

}

在此过程中,计算中断来的次数。

其他的自己思考吧。大神总是喜欢说半截话   余下的给你思考。

lkl0305 发表于 2015-5-12 14:22:49

0x0A+最大计数值-0xFFFC
页: [1]
查看完整版本: 输入捕获测量脉宽问题