|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
μC/OS-II下的事件標(biāo)志組? |
| 作者:上善若水 欄目:嵌入式系統(tǒng) |
我使用μC/OS-II下的事件標(biāo)志組好幾天了,就一次也沒成功過,我如下定義和使用: 創(chuàng)建: OS_FLAG_GRP *A; #define L 0x01; OS_FLAGS v; A=OSFlagCreate(0x00, &err); 發(fā)送: err = OSFlagPost(A,L,OS_FLAG_SET, &err); 等待: OS_FLAGS v; v = OSFlagPend (A,L,OS_FLAG_WAIT_SET_ALL,0,&err); 我反反復(fù)復(fù)在程序中實(shí)驗(yàn),絕對(duì)沒有輸錯(cuò),居然連語法編譯都通不過,幾乎都是相同的,下面的這六個(gè)錯(cuò)誤全是和上面的幾個(gè)語句有關(guān),請(qǐng)問我到底做錯(cuò)了什么??有沒有人用過事件標(biāo)志組,給指點(diǎn)一下,發(fā)個(gè)正確的用法也可以。 Error : C2285E: expected ')' or ',' - inserted ')' before ';' main.c LINE 88 Error : (Serious) C3026E: wrong NUMBER of parameters to 'OSFlagPost' main.c LINE 88 Error : (Serious) C2304E: <command> expected but found ',' main.c LINE 88 Error : C2285E: expected ')' or ',' - inserted ')' before ';' main.c LINE 110 Error : (Serious) C3026E: wrong NUMBER of parameters to 'OSFlagPend' main.c LINE 110 Error : (Serious) C2304E: <command> expected but found ',' main.c LINE 110 |
| 2樓: | >>參與討論 |
| 作者: hfx 于 2006/4/11 7:24:00 發(fā)布:
注意 |
|
| 3樓: | >>參與討論 |
| 作者: hfx 于 2006/4/11 7:25:00 發(fā)布:
注意函數(shù)的原型&函數(shù)的定義是否一致 |
|
| 4樓: | >>參與討論 |
| 作者: sea_breeze 于 2006/4/11 10:18:00 發(fā)布:
有沒有在OS_CFG.H中打開OS_FLAG_EN等 /* ----------------------- EVENT FLAGS ------------------------ */ #define OS_FLAG_EN 1 /* Enable (1) or Disable (0) code generation for EVENT FLAGS */ #define OS_FLAG_WAIT_CLR_EN 1 /* Include code for Wait on Clear EVENT FLAGS */ #define OS_FLAG_ACCEPT_EN 1 /* Include code for OSFlagAccept() */ #define OS_FLAG_DEL_EN 1 /* Include code for OSFlagDel() */ #define OS_FLAG_NAME_SIZE 32 /* Determine the size of the NAME of an event flag GROUP */ #define OS_FLAG_QUERY_EN 1 /* Include code for OSFlagQuery() */ 要注意不設(shè)置這些變量將不能通過編譯。 |
|
| 5樓: | >>參與討論 |
| 作者: seahai 于 2006/4/11 12:25:00 發(fā)布:
這樣就好了: 問題處在 #define L 0x01; 解決方法1: define語法錯(cuò)誤,不要后面的“;”好就行。 解決方法2: 修改如下: err = OSFlagPost(A,0x01,OS_FLAG_SET, &err); v = OSFlagPend (A,0x01,OS_FLAG_WAIT_SET_ALL,0,&err); * - 本貼最后修改時(shí)間:2006-4-11 12:44:29 修改者:seahai |
|
| 6樓: | >>參與討論 |
| 作者: psmax2008 于 2006/4/11 20:47:00 發(fā)布:
灌水 好好研究一下 |
|
| 7樓: | >>參與討論 |
| 作者: kanprin 于 2006/4/12 9:22:00 發(fā)布:
同意seahai,預(yù)處理語句不需要分號(hào)隔開。 |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |