This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我最近在使用F28335-QEP的程序,我理解的是应该在qep的中断里面来读取两次位置计数器的QPOSCNT的值,然后做差得出一段时间内转过的脉冲数,但是pmsm的例程HVPM_Sensorless_2833x_的程序中有关 QEP_MACRO(1,qep1)中有句代码是这样写的
/* Check an index occurrence*/ \
if ((*eQEP[m]).QFLG.bit.IEL == 1) \这句话是检测到index信号,发生中断
{ \
v.IndexSyncFlag = 0x00F0; \这句话我不知道是什么意思
v.QepCountIndex = (*eQEP[m]).QPOSILAT; \这句话是说将计数器(QPOSCNT)的值赋给v.QepCountIndex
(*eQEP[m]).QCLR.bit.IEL = 1; /* Clear interrupt flag */ \这句话是清中断(既然要清中断,说明之前肯定应该有中断置位、并且有中断程序才对)
} \
不知道我上面的理解对不对?如果对的话,在HVPM_Sensorless_2833x中只有一个主中断,我没有找到有关index事件引起的中断,请TI人指点,谢谢