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.
Hi all
It seems that I have found a bug about the ePWM module of the F28335 DSP, I am not sure if it is really a bug, could anyone please help me solve this problem? the problem is:
the test program is the example code epwm_updown_aq in DSP2833x_v120 from the C/C++ Header Files and Peripheral Examples sprc530, then we add a timer interrupt rounting ISRTimer0 and revise the TBPRD to 7500. the interrupt period of ISRTimer0 is 100us, the period of the TBCTR counting from ZERO to TBPRD and from TBPRD to ZERO is also 100us. in Interrupt Service Routines ISRTimer0, we read the TBCTR to a array cou_temp[1000] as follow,
interrupt void ISRTimer0(void)
{
if(i<1000)
{
cou_temp=EPwm1Regs.TBCTR;
i++;
}
else i=0;
PieCtrlRegs.PIEACK.all |= PIEACK_GROUP1;
return;
}
we think that the values in the array should be equal exactly in theory if the precision of the counters of timer0 and TBCLK can be guaranteed. but we find the differences amone the values of the array are big and the values of the array are increasing gradually.
could someone please help me solve the problem or explain it?
regards
yqmeng