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

正文內(nèi)容

ucos-ii_api_參考手冊(文件)

2025-07-13 22:52 上一頁面

下一頁面
 

【正文】 考OSSemCreate()函數(shù))。這個時間長度并不是非常嚴(yán)格的,可能存在一個時鐘節(jié)拍的誤差,因?yàn)橹挥性谝粋€時鐘節(jié)拍結(jié)束后才會減少定義的等待超時時鐘節(jié)拍。l OS_ERR_PEND_ISR :從中斷調(diào)用該函數(shù)。不允許從中斷調(diào)用該函數(shù)。 for (。所屬文件調(diào)用者開關(guān)量任務(wù)或中斷OS_SEM_ENOSSemPost()函數(shù)置起指定的信號量。參數(shù)pevent 是指向信號量的指針。注意/警告必須先建立信號量,然后使用。 for (。使用OSSemQuery()之前,應(yīng)用程序需要先創(chuàng)立類型為OS_SEM_DATA的數(shù)據(jù)結(jié)構(gòu),用來保存從信號量的事件控制塊中取得的數(shù)據(jù)。該指針在信號量建立后返回調(diào)用程序[參見OSSemCreat()函數(shù)]。返回值OSSemQuery()函數(shù)有下述兩個返回值:l OS_NO_ERR 表示調(diào)用成功。OS_EVENT *DispSem。 /* 在信號量中等待的優(yōu)先級最高的任務(wù) */ INT8U x。) { . . err = OSSemQuery(DispSem, amp。 highest = (y 3) + x。在用戶程序中OSStart( )只能被調(diào)用一次。 /* 啟動多任務(wù)環(huán)境 */} OSStatInit ( )void OSStatInit (void)。OSStatInit()的調(diào)用時機(jī)是當(dāng)多任務(wù)環(huán)境已經(jīng)啟動,且系統(tǒng)中只有一個任務(wù)在運(yùn)行。 /* 建立其他任務(wù) */ OSTaskCreate(?)。參數(shù)oldprio是任務(wù)原先的優(yōu)先級。l OS_PRIO_EXIST:參數(shù)中的新優(yōu)先級已經(jīng)存在。范例:void TaskX(void *data){ INT8U err。所屬文件調(diào)用者開關(guān)量任務(wù)或初始化代碼無OSTaskCreate()建立一個新任務(wù)。OSTaskCreate()是為與先前的μC/OS版本保持兼容,新增的特性在OSTaskCreateExt()函數(shù)中。Pdata指向一個數(shù)據(jù)結(jié)構(gòu),該結(jié)構(gòu)用來在建立任務(wù)時向任務(wù)傳遞參數(shù)。) { /* 任務(wù)函數(shù)體. */ . . /* 在任務(wù)體中必須調(diào)用如下函數(shù)之一: */ /* OSMboxPend() */ /* OSQPend() */ /* OSSemPend() */ /* OSTimeDly() */ /* OSTimeDlyHMSM() */ /* OSTaskSuspend() (掛起任務(wù)本身) */ /* OSTaskDel() (刪除任務(wù)本身) */ . . }ptos為指向任務(wù)堆棧棧頂?shù)闹羔?。如果初始化常量OS_STK_GROWTH設(shè)為1,堆棧被設(shè)為從內(nèi)存高地址向低地址增長,此時ptos應(yīng)該指向任務(wù)堆??臻g的最高地址。數(shù)字越小,優(yōu)先級越高。l OS_NO_MORE_TCB:系統(tǒng)中沒有OS_TCB可以分配給任務(wù)了。這些優(yōu)先級μC/OS系統(tǒng)保留,其余的56個優(yōu)先級提供給應(yīng)用程序。如果在您的程序中設(shè)定堆棧向高地址增長,則傳遞的棧頂指針應(yīng)該為amp。 . OSInit()。 /* 啟動多任務(wù)環(huán)境 */}void Task1(void *pdata){ pdata = pdata。OS_STK *Comm1Stk[1024]。 /* 包含 COMM 口初始化數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu) */ /* 通道2的數(shù)據(jù) */void main(void){ INT8U err。Comm1Stk[1023], 25)。 . OSStart()。與OSTaskCreate()不同的是,OSTaskCreateExt()允許用戶設(shè)置更多的細(xì)節(jié)內(nèi)容。Pdata指針指向一個數(shù)據(jù)結(jié)構(gòu),該結(jié)構(gòu)用來在建立任務(wù)時向任務(wù)傳遞參數(shù)。任務(wù)堆棧的大小決定于任務(wù)的需要及預(yù)計(jì)的中斷嵌套層數(shù)。) { /* */ . . /* 任務(wù)中必須調(diào)用如下的函數(shù): */ /* OSMboxPend() */ /* OSQPend() */ /* OSSemPend() */ /* OSTimeDly() */ /* OSTimeDlyHMSM() */ /* OSTaskSuspend() (掛起任務(wù)自身) */ /* OSTaskDel() (刪除任務(wù)自身) */ . . }}ptos為指向任務(wù)堆棧棧頂?shù)闹羔槨R粋€任務(wù)必須為無限循環(huán)結(jié)構(gòu)(如下所示),且不能有返回點(diǎn)。) { . /* 任務(wù)代碼 */ . }} OSTaskCreateExt( )INT8U OSTaskCreateExt(void (*task)(void *pd), void *pdata, OS_STK *ptos,INT8U prio, INT16U id, OS_STK *pbos, INT32U stk_size, void *pext, INT16U opt)。Comm2Data, amp。 /* 初始化?C/OSII */ . OSTaskCreate(CommTask, (void *)amp。 /* 包含 COMM 口初始化數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu) */ /* 通道1的數(shù)據(jù) */OS_STK *Comm2Stk[1024]。) { . /* 任務(wù)代碼 */ . }}范例 2:您可以創(chuàng)立一個通用的函數(shù),多個任務(wù)可以共享一個通用的函數(shù)體,例如一個處理串行通訊口的函數(shù)。Task1Stk[1023], 25)。OS_STK Task1Stk[1024]。注意到程序中設(shè)定堆棧向低地址增長,傳遞的棧頂指針為高地址amp。在任務(wù)中必須調(diào)用μC/OS提供的下述過程之一:延時等待、任務(wù)掛起、等待事件發(fā)生(等待信號量,消息郵箱、消息隊(duì)列),以使其他任務(wù)得到CPU。l OS_PRIO_EXIST:具有該優(yōu)先級的任務(wù)已經(jīng)存在。prio為任務(wù)的優(yōu)先級。任務(wù)堆棧的大小決定于任務(wù)的需要及預(yù)計(jì)的中斷嵌套層數(shù)。pdata39。詳細(xì)說明請參考所用處理器的手冊。中斷處理程序中不能建立任務(wù)。) { . . err = OSTaskChangePrio(10, 15)。注意/警告參數(shù)中的新優(yōu)先級必須是沒有使用過的,否則會返回錯誤碼。返回值OSTaskChangePrio()的返回值為下述之一:l OS_NO_ERR:任務(wù)優(yōu)先級成功改變。) { . . }} OSTaskChangPrio( )INT8U OSTaskChangePrio (INT8U oldprio, INT8U newprio)。參數(shù)無返回值無注意/警告無范例:void FirstAndOnlyTask (void *pdata){ . . OSStatInit()。amp。范例:void main(void){ . /* 用戶代碼 */ . OSInit()。所屬文件調(diào)用者開關(guān)量只能是初始化代碼無OSStart( )啟動μC/OSII的多任務(wù)環(huán)境。 if (err == OS_NO_ERR) { if ( != 0x00) { y = OSUnMapTbl[]。 pdata = pdata。 INT8U err。注意/警告被操作的信號量必須是已經(jīng)建立了的。 /* 當(dāng)前信號量標(biāo)識號碼 */INT8U OSEventTbl[OS_EVENT_TBL_SIZE]。OSEventTbl [ ]域的大小由語句:define constant OS_ENENT_TBL_ SIZE定義()。 if (err == OS_NO_ERR) { . /* 信號量置起 */ . } else { . /* 信號量溢出 */ . } . . }} OSSemQuery( )INT8U OSSemQuery(OS_EVENT *pevent, OS_SEM_DATA *pdata)。void TaskX(void *pdata){ INT8U err。(參考OSSemCreate()函數(shù))。如果有任何任務(wù)在等待信號量,最高優(yōu)先級的任務(wù)將得到信號量并進(jìn)入就緒狀態(tài)。err)。void DispTask(void *pdata){ INT8U err。l OS_ERR_EVENT_TYPE :pevent 不是指向信號量的指針。OSSemPend()函數(shù)返回的錯誤碼可能為下述幾種:l OS_NO_ERR :信號量不為零。如果該值為零表示任務(wù)將持續(xù)的等待信號量。參數(shù)pevent 是指向信號量的指針。如果調(diào)用時信號量等于零,OSSemPend()函數(shù)函數(shù)將任務(wù)加入該信號量的等待隊(duì)列。 /* 建立顯示設(shè)備的信號量 */ . . OSStart()。注意/警告必須先建立信號量,然后使用。信號量的作用如下:l 允許一個任務(wù)和其他任務(wù)或者中斷同步。 for (。注意/警告必須先建立信號量,然后使用。當(dāng)建立信號量時,該指針返回到用戶程序。所屬文件調(diào)用者開關(guān)量任務(wù)或中斷OS_SEM_ENOSSemAccept()函數(shù)查看設(shè)備是否就緒或事件是否發(fā)生。 for (。所屬文件調(diào)用者開關(guān)量任務(wù)或中斷N/A
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1