如何使用计时器和Eccp2
设置ZeroCross
。
我需要弄清楚如何通过比较计时器和eecp2来打开输出。
我需要让电机工作在25%到75%之间。
我在mplab中包含了Eccp2和Timer1以及Ext_INT库。我已将ECCP2设置为比较timer1
。此外Ext_Int
Edge
在INT0
输入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%