freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ucos-ii_api_參考手冊(cè)(留存版)

  

【正文】 (void *)CommMsg)。 OS_MEM_DATA mem_data。void Task (void *pdata){ void *msg。 /* 初始化μC/OSⅡ */ . . CommQ = OSQCreate(amp。所屬文件調(diào)用者開關(guān)量任務(wù)OS_Q_ENOSQPend()函數(shù)用于任務(wù)等待消息。l OS_TIMEOUT :消息沒(méi)有在指定的周期數(shù)內(nèi)送到。所屬文件調(diào)用者開關(guān)量任務(wù)或中斷OS_Q_ENOSQPost()函數(shù)通過(guò)消息隊(duì)列向任務(wù)發(fā)送消息。注意/警告必須先建立消息隊(duì)列,然后使用。如果有任何任務(wù)在等待隊(duì)列中的消息,最高優(yōu)先級(jí)的任務(wù)將得到這個(gè)消息。 for (。void Task (void *pdata){ OS_Q_DATA qdata。) { . OSSchedLock()。(參考OSSemCreate()函數(shù))。范例:OS_EVENT *DispSem。最大的等待時(shí)間為65535個(gè)時(shí)鐘節(jié)拍。 . /* 只有信號(hào)量置起,該任務(wù)才能執(zhí)行 */ . }} OSSemPost( )INT8U OSSemPost(OS_EVENT *pevent)。所屬文件調(diào)用者開關(guān)量任務(wù)或中斷OS_SEM_ENOSSemQuery()函數(shù)用于獲取某個(gè)信號(hào)量的信息。 INT8U highest。 /* 初始化 ?C/OSII */ . /* 用戶代碼 */ . OSStart()。l OS_PRO_INVALID:參數(shù)中的任務(wù)原先優(yōu)先級(jí)或新優(yōu)先級(jí)大于或等于OS_LOWEST_PRIO。 參數(shù)task是指向任務(wù)代碼的指針。l OS_PRIO_INVALID:參數(shù)指定的優(yōu)先級(jí)大于OS_LOWEST_PRIO。 . OSStart()。Comm2Stk[1023], 26)。任務(wù)堆棧用來(lái)保存局部變量,函數(shù)參數(shù),返回地址以及中斷時(shí)的CPU寄存器內(nèi)容。Comm1Data, amp。void main(void){ INT8U err。每個(gè)任務(wù)必須有一個(gè)唯一的優(yōu)先級(jí)作為標(biāo)識(shí)。一個(gè)任務(wù)必須為無(wú)限循環(huán)結(jié)構(gòu)(如下所示),且不能有返回點(diǎn)。所屬文件調(diào)用者開關(guān)量任務(wù)OS_TASK_CHANGE_PRIO_ENOSTaskChangePrio()改變一個(gè)任務(wù)的優(yōu)先級(jí)。參數(shù)無(wú)返回值無(wú)注意/警告在調(diào)用OSStart( )之前必須先調(diào)用OSInit ( )。范例:在本例中,應(yīng)用程序檢查信號(hào)量,查找等待隊(duì)列中優(yōu)先級(jí)最高的任務(wù)。 pdata = pdata。 pdata = pdata。該指針的值在建立該信號(hào)量時(shí)可以得到。l 取得設(shè)備的使用權(quán)l(xiāng) 標(biāo)志事件的發(fā)生參數(shù)value 參數(shù)是建立的信號(hào)量的初始值,可以取0到65535之間的任何值。不同于OSSemPend()函數(shù),如果設(shè)備沒(méi)有就緒,OSSemAccept()函數(shù)并不掛起任務(wù)。參數(shù)無(wú)返回值無(wú)注意/警告任務(wù)調(diào)用了OSSchedLock()函數(shù)后,決不能再調(diào)用可能導(dǎo)致當(dāng)前任務(wù)掛起的系統(tǒng)函數(shù):OSTimeDly(),OSTimeDlyHMSM(),OSSemPend(),OSMboxPend(),OSQPend()。 /* 下一個(gè)可用的消息*/ INT16U OSNMsgs; /* 隊(duì)列中的消息數(shù)目*/ INT16U OSQSize; /* 消息隊(duì)列的大小 */ INT8U OSEventTbl[OS_EVENT_TBL_SIZE]。范例:OS_EVENT *CommQ。也就是說(shuō),OSQPostFront()函數(shù)使得消息隊(duì)列按照后入先出(LIFO)的方式工作,而不是先入先出(FIFO)。不允許傳遞一個(gè)空指針。 for (。最大的等待時(shí)間為65535個(gè)時(shí)鐘節(jié)拍。 OSInit()。注意/警告必須先建立消息隊(duì)列,然后使用。(參考OSMboxCreate()函數(shù))。 /*使用的內(nèi)存塊數(shù)目 */ 返回值OSMemQuery()函數(shù)返回值總是OS_NO_ERR。INT8U *CommMsg。注意/警告必須首先建立內(nèi)存區(qū),然后使用。void main(void){ INT8U err。程序可以包含這些內(nèi)存塊并在用完后釋放回內(nèi)存區(qū)。該指針的值在建立該消息郵箱時(shí)可以得到。l OS_MBOX_FULL :消息郵箱已經(jīng)包含了其他消息,不空。) { . . msg = OSMboxPend(CommMbox, 10, amp。這個(gè)時(shí)間長(zhǎng)度并不是非常嚴(yán)格的,可能存在一個(gè)時(shí)鐘節(jié)拍的誤差,因?yàn)橹挥性谝粋€(gè)時(shí)鐘節(jié)拍結(jié)束后才會(huì)減少定義的等待超時(shí)時(shí)鐘節(jié)拍。 /* 初始化μC/OSⅡ */ . . CommMbox = OSMboxCreate((void *)0)。注意/警告必須先建立消息郵箱,然后使用。當(dāng)最后一層嵌套的中斷執(zhí)行完畢后,如果有更高優(yōu)先級(jí)的任務(wù)準(zhǔn)備就緒,μC/OSⅡ會(huì)調(diào)用任務(wù)調(diào)度函數(shù),在這種情況下,中斷返回到更高優(yōu)先級(jí)的任務(wù)而不是被中斷了的任務(wù)。 保存中斷現(xiàn)場(chǎng) PUSH ES PUSH DS。 /* 初始化 uC/OSII */ . OSStart()。 讀入數(shù)據(jù)段 MOV DS, AX。不同于OSMboxPend()函數(shù),如果沒(méi)有需要的消息,OSMboxAccept()函數(shù)并不掛起任務(wù)。參數(shù)msg 參數(shù)用來(lái)初始化建立的消息郵箱。一個(gè)由OSTaskSuspend()函數(shù)掛起的任務(wù)也可以接受消息,但這個(gè)任務(wù)將一直保持掛起狀態(tài)直到通過(guò)調(diào)用OSTaskResume()函數(shù)恢復(fù)任務(wù)的運(yùn)行。注意/警告必須先建立消息郵箱,然后使用。參數(shù)pevent 是指向即將接受消息的消息郵箱的指針。) { . err = OSMboxPost(CommMbox, (void *)amp。 pdata = pdata。OS_MEM_INVALID_BLKS :沒(méi)有為每一個(gè)內(nèi)存區(qū)建立至少兩個(gè)內(nèi)存塊??梢远啻握{(diào)用OSMemGet()函數(shù)。參數(shù)pmem 是指向內(nèi)存區(qū)控制塊的指針,可以從OSMemCreate()函數(shù) 返回得到。參數(shù)pmem 是指向內(nèi)存區(qū)控制塊的指針,可以從OSMemCreate()函數(shù) 返回得到。 . }}OSQAccept( )Void *OSQAccept(OS_EVENT *pevent)。所屬文件調(diào)用者開關(guān)量任務(wù)或啟動(dòng)代碼OS_Q_ENOSQCreate()函數(shù)建立一個(gè)消息隊(duì)列。不管隊(duì)列中是否有消息,這個(gè)函數(shù)的執(zhí)行時(shí)間都是相同的。如果同時(shí)有多個(gè)任務(wù)等待同一個(gè)消息,μC/OSⅡ默認(rèn)最高優(yōu)先級(jí)的任務(wù)取得消息并且任務(wù)恢復(fù)執(zhí)行。如果沒(méi)有在指定數(shù)目的時(shí)鐘節(jié)拍內(nèi)接受到需要的消息,OSQPend()函數(shù)返回空指針并且將 *err設(shè)置為OS_TIMEOUT。如果等待消息的任務(wù)優(yōu)先級(jí)比發(fā)送消息的任務(wù)優(yōu)先級(jí)高,那么高優(yōu)先級(jí)的任務(wù)將得到消息而恢復(fù)執(zhí)行,也就是說(shuō),發(fā)生了一次任務(wù)切換。 pdata = pdata。消息是一個(gè)指針長(zhǎng)度的變量,在不同的程序中消息的使用也可能不同。用戶程序必須建立一個(gè)OS_Q_DATA的數(shù)據(jù)結(jié)構(gòu),該結(jié)構(gòu)用來(lái)保存從消息隊(duì)列的事件控制塊得到的數(shù)據(jù)。qdata)。因?yàn)槿蝿?wù)調(diào)度已經(jīng)被禁止,其他任務(wù)不能運(yùn)行,這會(huì)導(dǎo)致系統(tǒng)死鎖。void Task (void *pdata){ INT16U value。所屬文件調(diào)用者開關(guān)量任務(wù)OS_SEM_ENOSSemPend()函數(shù)用于任務(wù)試圖取得設(shè)備的使用權(quán),任務(wù)需要和其他任務(wù)或中斷同步,任務(wù)需要等待特定事件的發(fā)生的場(chǎng)合。l OS_ERR_PEND_ISR :從中斷調(diào)用該函數(shù)。參數(shù)pevent 是指向信號(hào)量的指針。該指針在信號(hào)量建立后返回調(diào)用程序[參見(jiàn)OSSemCreat()函數(shù)]。) { . . err = OSSemQuery(DispSem, amp。OSStatInit()的調(diào)用時(shí)機(jī)是當(dāng)多任務(wù)環(huán)境已經(jīng)啟動(dòng),且系統(tǒng)中只有一個(gè)任務(wù)在運(yùn)行。范例:void TaskX(void *data){ INT8U err。) { /* 任務(wù)函數(shù)體. */ . . /* 在任務(wù)體中必須調(diào)用如下函數(shù)之一: */ /* OSMboxPend() */ /* OSQPend() */ /* OSSemPend() */ /* OSTimeDly() */ /* OSTimeDlyHMSM() */ /* OSTaskSuspend() (掛起任務(wù)本身) */ /* OSTaskDel() (刪除任務(wù)本身) */ . . }ptos為指向任務(wù)堆棧棧頂?shù)闹羔?。這些優(yōu)先級(jí)μC/OS系統(tǒng)保留,其余的56個(gè)優(yōu)先級(jí)提供給應(yīng)用程序。OS_STK *Comm1Stk[1024]。與OSTaskCreate()不同的是,OSTaskCreateExt()允許用戶設(shè)置更多的細(xì)節(jié)內(nèi)容。一個(gè)任務(wù)必須為無(wú)限循環(huán)結(jié)構(gòu)(如下所示),且不能有返回點(diǎn)。 /* 包含 COMM 口初始化數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu) */ /* 通道1的數(shù)據(jù) */OS_STK *Comm2Stk[1024]。注意到程序中設(shè)定堆棧向低地址增長(zhǎng),傳遞的棧頂指針為高地址amp。任務(wù)堆棧的大小決定于任務(wù)的需要及預(yù)計(jì)的中斷嵌套層數(shù)。) { . . err = OSTaskChangePrio(10, 15)。參數(shù)無(wú)返回值無(wú)注意/警告無(wú)范例:void FirstAndOnlyTask (void *pdata){ . . OSStatInit()。 if (err == OS_NO_ERR) { if ( != 0x00) { y = OSUnMapTbl[]。 /* 當(dāng)前信號(hào)量標(biāo)識(shí)號(hào)碼 */INT8U OSEventTbl[OS_EVENT_TBL_SIZE]。(參考OSSemCreate()函數(shù))。l OS_ERR_EVENT_TYPE :pevent 不是指向信號(hào)量的指針。如果調(diào)用時(shí)信號(hào)量等于零,OSSemPend()函數(shù)函數(shù)將任務(wù)加入該信號(hào)量的等待隊(duì)列。 for (。 for (。所屬文件調(diào)用者開關(guān)量任務(wù)或中斷N/AOSSchedLock()函數(shù)停止任務(wù)調(diào)度,只有使用配對(duì)的函數(shù)OSSchedUnlock()才能重新開始內(nèi)核的任務(wù)調(diào)度。OSuery()函數(shù)還可以得到即將被傳遞給任務(wù)的消息的信息。返回值OSQPost()函數(shù)的返回值為下述之一:l OS_NO_ERR :消息成功的放到消息隊(duì)列中。) { . . err = OSQPost(CommQ, (voi
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1