小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

消息量函數(shù)分析OS_EVENT *OSSemCreate (INT16U cnt)

 xuhex 2012-02-14

消息量函數(shù)分析OS_EVENT *OSSemCreate (INT16U cnt)

分類: UCOS-II 667人閱讀 評論(0) 收藏 舉報

OS_EVENT  *OSSemCreate (INT16U cnt)                                ;該函數(shù)返回的數(shù)據(jù)類型為指針,指針指向的數(shù)據(jù)類型為OS_EVENT(事件的數(shù)據(jù)類型為結(jié)構(gòu)體)。也就是函數(shù)返回一個地址,地址里存的是新創(chuàng)建的結(jié)構(gòu)體類型所占據(jù)的內(nèi)存的首地址。 

 OS_EVENT  *pevent;
 pevent = OSEventFreeList;                                                                                                                                                       if (OSEventFreeList != (OS_EVENT *)0) {                /* See if pool of free ECB pool was empty   */
        OSEventFreeList = (OS_EVENT *)OSEventFreeList->OSEventPtr;
    }                           

;首先創(chuàng)建一個指向OS_EVENT結(jié)構(gòu)體類型的指針pevent;系統(tǒng)初始化時會創(chuàng)建一個空事件控制塊鏈表,而創(chuàng)建的空事件控制塊的數(shù)目由常數(shù)OSEventMax來決定。OSEventFreeList就指向這個空事件控制塊鏈表的第一個,所以上面的程序里把OSEventFreeList賦給了pevent,也就是讓pevent指向第一個空事件控制塊,然后又讓OSEventFreeList指向了空事件控制鏈表中的第二個。也就是從空事件鏈表中摘出了第一個給事件使用。

 if (pevent != (OS_EVENT *)0) {                         /* Get an event control block               */
        pevent->OSEventType    = OS_EVENT_TYPE_SEM;
        pevent->OSEventCnt     = cnt;                      /* Set semaphore value                      */
        pevent->OSEventPtr     = (void *)0;                /* Unlink from ECB free list                */
#if OS_EVENT_NAME_SIZE > 1
        pevent->OSEventName[0] = '?';                      /* Unknown name                             */
        pevent->OSEventName[1] = OS_ASCII_NUL;
#endif
;以上就是對新創(chuàng)建的空任務(wù)控制塊的各個量進行初始化。

OS_EventWaitListInit(pevent);           ;通過調(diào)用OSEventWaitListInit()對事件控制塊中的等待任務(wù)列表進行初始化。該函數(shù)初始化一個空的等待任務(wù)列表,其中沒有任何任務(wù)。該函數(shù)的調(diào)用參數(shù)只有一個,就是指向需要初始化的事件控制塊的指針pevent。         

return (pevent);                                      ;返回創(chuàng)建的結(jié)構(gòu)體類型數(shù)據(jù)的首地址的指針
                                                  

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多