大家好、我在位置比较中断方面遇到了一些问题、从不为 ISR 提供服务。 我已经在 QPOSCMP 中设置了值、并且可以在调试时看到 QPOSCNT 中与之匹配的正确值。 您能告诉我我发生了什么错误吗?
int main (空)
{
/*用户代码开始(3)*/
_enable_interrupt_();
gioInit();
etpwmInit();
adcInit();
hetInit();
QEPInit();
/*启用位置计数器*/
eqepEnableCounter (eqepREG1);
/*启用位置比较*/
eqepEnablePosnCompare (eqepREG1);
/*启用单位定时器。 *
eqepEnableUnitTimer (eqepREG1);
/*启用捕获定时器和捕获周期锁存。 *
eqepEnableCapture (eqepREG1);
/*启用位置比较 INT */
eqepEnableInterrupt (eqepREG1、QEINT_PCM);
while (1)
{
}
/*用户代码结束*/
返回0;
}
/*用户代码开始(4)*/
void eqepNotification (eqepbase_t * eQEP、uint16标志)
{
测试++;
}
