- 打卡等级:以坛为家II
- 打卡总天数:486
- 最近打卡:2025-08-19 22:25:03
荣誉版主
- 积分
- 4697
|
中断挂起服务_FIFO-错误调用返回 应用示例
一、iResumeTask(task) 示例:
uCreateTask(task_1, ...
uCreateTask(task_2, ...
某用户中断中:
{
iResumeTask(task_1);
}
某用户中断中:
{
iResumeTask(task_2);
}
void pResumeTask_ErrorCallback(s_tasknode_tsp htask) MCUCFG_OSIT_ATTRIBUTE
{
if(htask == task_1){
switch(pECode_ErrorCallback()){
case ...
}
}
else if(htask == task_2){
switch(pECode_ErrorCallback()){
case ...
}
}
}
二、iSendMsg(que, msg) 示例:
uCreateQueue_Static(que1, 0, 10);
uCreateQueue_Static(que2, 1, 20);
某用户中断中:
{
iSendMsg(que1, msg);
}
某用户中断中:
{
iSendMsg(que2, msg);
}
void pSendMsg_ErrorCallback(s_msgque_tsp hque, void *msg) MCUCFG_OSIT_ATTRIBUTE
{
if(hque == (s_msgque_tsp)&que1){
switch(pECode_ErrorCallback()){
case ...
}
}
else if(hque == (s_msgque_tsp)&que2){
switch(pECode_ErrorCallback()){
case ...
}
}
}
实际应用中,可能先查看错误码选择处理分类,再查看是哪个任务或队列,效果会更好。
总之该示例仅是给用户打个样,实际应用中用户可随意发挥。
但最好还是不要发生错误,这样也不必执行错误调用返回。
注意,即然名称是“错误调用返回”,就说明 如果没有错误就不会回调。
|
|