如何使用计时器和ZeroCross设置Eccp2

时间:2018-02-12 11:00:22

标签: c mplab

如何使用计时器和Eccp2设置ZeroCross。 我需要弄清楚如何通过比较计时器和eecp2来打开输出。 我需要让电机工作在25%到75%之间。

我在mplab中包含了Eccp2和Timer1以及Ext_INT库。我已将ECCP2设置为比较timer1。此外Ext_Int EdgeINT0输入INT0_SetInterruptHandler(ZeroCrossCallback);

所以我主要想做的第一件事是设置中断每个人我得到zerocross。我不知道我是否解释得很好...... 我的意思是每次INT0中的输入都处于接地状态。

void ZeroCrossCallback() {
    if (!PORTBbits.INT0) {
    TMR1_WriteTimer(0);
    CCP2CONbits.CCP2M = 9;
    EXT_INT0_risingEdgeSet();
} else {
    CCP2CONbits.CCP2M = 0;
    EXT_INT0_fallingEdgeSet();
    }
}

其次我发现了一个代码,我不确切知道它在做什么......

{{1}}

最后我需要设置电机工作从25%到75%

Img

0 个答案:

没有答案