static SYS_TMR_HANDLE hmiAgtTimer;
hmiAgtTimer = SYS_TMR_DelayMS( 100 );
if(NULL != hmiAgtTimer){
HmiAgt_SetState(pHACtx, HMI_AGT_STATE_WAIT); // 去:等待状态
}
if(SYS_TMR_DelayStatusGet(hmiAgtTimer)){
HmiAgt_SetState(pHACtx, HMI_AGT_STATE_IDLE); // 去:闲置状态
}
用ICD4调试,PIC32MZ0512EF0064,定时还未超时,就出现:
while (1)
{
SYS_DEBUG_BreakPoint();
}
CallStack 如下:
_general_exception_handler()(位于d:/microchip/harmonyv2_06/apps/mp_sc_190327/imware/srclsystem_configldefaull/system_exceptions.c:137)
Runtime exception (near)PC address 0x9d00a4b4 in function:SYS_TMR_Tasks()(位于d/microchip/harmonyM2_06/firamework/systemtmr/srclsys_tmr.c:698)
从695行开始:
pClient = sClientObjects + 0;
for ( ix = 0; ix < sizeof(sClientObjects)/sizeof(*sClientObjects); ix++, pClient++ )
{
if ( pClient->isrState == SYS_TMR_CLIENT_ISR_MARK_DEL)
{
_SYS_TMR_ClientDelete(pClient);
}
else if(pClient->isrState == SYS_TMR_CLIENT_ISR_MARK_INACTIVE)
{
pClient->isrEnable = 0;
pClient->currState = SYS_TMR_CLIENT_INACTIVE;
}
}
哪里出问题了?
|