|
while(1)
{
pmsg=OSMboxPend(App_StartMbox,1,&err);
if(pmsg!=NULL)
{
switch(*pmsg)
{
case 3:
for(i=0;i<8;i++)
{
OS_ENTER_CRITICAL();
UARTQuerySend( 2, (BYTE *)Uart2Cmd_ReadAes, sizeof(Uart2Cmd_ReadAes));
OS_EXIT_CRITICAL();
OSSemPend(sem_uartrec,500,&err);
for(j=0;j<512;j++)
{
stWaveEnergy.usMeas[j]=UART2Buffer[j*2]*256+UART2Buffer[j*2+1];
}
CalibrateActual();
}
ExitZeroing();
break;
}
memset((unsigned char *)msg,0,sizeof(msg));
}
}
接收到消息信息,但是for循环次数大于3或者OSSemPend等待时间大于500,进入我这个调零界面就会出现死机,在OS_CPU_ExceptHndlr里死循环,单步调试的话也没问题,哪位大神能说下问题可能出在哪里?多谢 |
|
|