Other Parts Discussed in Thread: CC2530
在低功耗中使用串口通信,我CC2530的串口读脚设为中断脚。每次串口中断后使用
osal_pwrmgr_task_state(SampleApp_TaskID, PWRMGR_HOLD);//不允许进入低功耗
串口通信正常。不过再次进入低功耗输入串口命令调用
osal_pwrmgr_task_state(SampleApp_TaskID,PWRMGR_CONSERVE);//允许进入低功耗
不能进入低功耗
问题是第二次输入串口命令的时候是先响应串口中断再响应外部中断。
case KEY_CHANGE:
SampleApp_HandleKeys( ((keyChange_t *)MSGpkt)->state, ((keyChange_t *)MSGpkt)->keys );
break;
case CMD_SERIAL_MSG: //由 串口收到数据后由 T MT_UART
SampleApp_SerialCMD((mtOSALSerialData_t *)MSGpkt);
break;
先响应CMD_SERIAL_MSG,再响应KEY_CHANGE
所以不能进入低功耗。