extern void osal_msg_enqueue( osal_msg_q_t *q_ptr, void *msg_ptr ); /* * Enqueue a Task Message Up to Max */ extern uint8 osal_msg_enqueue_max( osal_msg_q_t *q_ptr, void *msg_ptr, uint8 max ); /* * Dequeue a Task Message */ extern void *osal_msg_dequeue( osal_msg...
osal_msg_enqueue(&osal_qHsad,msg_ptr ); // Signal the task that a message is waiting os[al_set_event ( destination_task, SYS_EVENT_MSG ); return ( SUCCESS ); } « end osal_msg_send » *@fn osal_msg_receive * * @brief 这个事件的类型就是叫做 SYS_EVENT_MSG 然后这个消息发出...
externosal_event_hdr_t*osal_msg_find(uint8task_id,uint8event); /* *EnqueueaTaskMessage */ externvoidosal_msg_enqueue(osal_msg_q_t*q_ptr,void*msg_ptr); /* *EnqueueaTaskMessageUptoMax */ externuint8osal_msg_enqueue_max(osal_msg_q_t*q_ptr,void*msg_ptr,uint8max); /* *Dequeuea...
消息创建完成后,调用osal_msg_send()将消息发送出去,该函数调用osal_msg_enqueue_push(),将消息发送至OSAL消息链表,并调用osal_set_event( destination_task, SYS_EVENT_MSG );向目标任务发送一个系统消息事件,在主循环中调用目标任务的回调函数,进入系统消息处理分支接收并解析处理消息。
消息创建完成后,调用osal_msg_send()将消息发送出去,该函数调用osal_msg_enqueue_push(),将消息发送至OSAL消息链表,并调用osal_set_event( destination_task, SYS_EVENT_MSG );向目标任务发送一个系统消息事件,在主循环中调用目标任务的回调函数,进入系统消息处理分支接收并解析处理消息。
MSG_ID( msg_ptr ) = destination_task;// queue messageosal_msg_enqueue( &osal_qHead, msg_...
osal_msg_send( registeredKeysTaskID, (uint8 *)msgPtr ); 这个注册的任务ID,就是我们在初始化中指定的任务(最后一个任务ID)。而这个信息就含有我们的事件名,状态,键名称。 发送消息的函数调用了osal_msg_enqueue_push( destination_task, msg_ptr, FALSE)在这个函数的开始,将消息推送到消息队列中,osal_msg...
还是先上图在理解了消息量的数据链表后,再来理解osal_msg_send里的语句就不难了OSAL_MSG_ID( msg_ptr ) = destination_task;/设置消息数据对应是属于哪个任务的/ 将要发送的消息数据链接到以osal_qHead开头的数据链表中osal_msg_enqueue( &osal_qHead, msg 11、_ptr );/ 通知主循环有任务等待处理osal_set...
id 则把目的任务的 //OSAL_MSG_ID()参见前面 ()参见前面 () //---// queue message 把当前消息( 所指) 把当前消息(msg_ptr 所指)加入到系统消息列表中 osal_msg_enqueue &osal_qHead, msg_ptr ); //---// Signal the task that a message is waiting osal_set_event( destination_task, ...
osal_msg_enqueue(&osal_qHead,msg_ptr);//放入包裹寄存中心^_^ osal_set_event(destination_task,SYS_EVENT_MSG);//给某户人家寄一个包裹领取单!!! 怎么放入包裹寄存中心的呢,亲?为了好理解,插一幅图,图是飞比论坛上的,这是消息列表的构成: 然后追踪osal_msg_enqueue(&osal_qHead,msg_ptr)函数 if(...