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.
280049芯片,相同的一段ISR()函数,代码开始和结束利用GPIO作为测试信号,链接示波器检测GPIO信号
工程1:利用EPWM1 ZERO中断触发10us的周期中断,执行ISR()函数,通过示波器测量执行之间约6us。
工程2:利用EPWM2 ZERO中断触发10us的周期中断,执行CLATASK1,内部调用ISR()函数,通过示波器测量执行时间10us不能完成。
测试1:验证工程2中断的正确性,在工程2的ISR()函数内减少代码量,通过示波器检测中断时间,确认10us的中断是正确的。但是执行时间还是不正常。
例如:ISR()内代码只留下两行读取AD寄存器的代码:示波器检测执行时间需要120ns
//########################################################################################
// Function Name: CLALoopCtrlISR
// Input:
// Output:
// Return:
// Description:
//########################################################################################
#pragma FUNC_ALWAYS_INLINE(CLALoopCtrlISR)
inline void CLALoopCtrlISR()
{
TEST3_SET(); // GPIO测试
stClaToCpuPara.iVoutADFbk = AdccResultRegs.ADCRESULT0;
stClaToCpuPara.iPriCurADFbk = AdcbResultRegs.ADCRESULT0;
TEST3_CLR(); // GPIO测试
// Clear INT Flag
EPwm1Regs.ETCLR.bit.INT = 1;
}
请问,我时不时哪里还没有配置正确,盼专家解答,谢谢!
为更加有效地解决您的问题,我们建议您将问题发布在E2E英文技术论坛上https://e2e.ti.com/support/microcontrollers/c2000/f/171,将由资深的工程师为您提供帮助。我们的E2E英文社区有TI专家进行回复,并得到全球各地工程师的支持,分享他们的知识和经验。