|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
求教各位大蝦,有關(guān)UCOS的中斷問題 |
| 作者:LIONVIC 欄目:嵌入式系統(tǒng) |
最近買了LPC2131,并結(jié)合工程模板學習UCOS。配套書講得較全,但就沒有在UCOS中如何處理中斷的具體例子,而其它書上也沒看到這方面的例子,懇請指點。比如,外部產(chǎn)生一個中斷,如何寫其中斷處理程序,且在什么地方寫。 困惑中,希望各位大蝦能指點一二或介紹相關(guān)例子。 特此謝過! |
| 2樓: | >>參與討論 |
| 作者: brm00 于 2006/2/27 15:41:00 發(fā)布:
你用的是keil嗎? * - 本貼最后修改時間:2006-2-27 15:42:07 修改者:brm00 |
|
| 3樓: | >>參與討論 |
| 作者: kanprin 于 2006/2/28 8:22:00 發(fā)布:
其實是有介紹的。 不過要根據(jù)你用的MCU和編譯器來確定怎么寫中斷。我用的是AVR, 編譯器是WINAVR ,在avr_isr.h中有這個定義: #define UCOSISR(signame) \ void signame (void) __attribute__ ((naked)); \ void signame (void) 然后就可以在主文件中調(diào)用UCOSISR(signame)函數(shù)了。 如; //定時器2中斷 UCOSISR(SIG_OVERFLOW2) { PushRS(); OSIntEnter(); if (OSIntNesting > 0) OSTCBCur->OSTCBStkPtr = (OS_STK *)SP; TCCR2 = 0; OSSemPost(UartRxSem); OSIntExit(); PopRS(); } 以上進入中斷的入棧出棧和現(xiàn)場保護都套用一個模式。 別的編譯器的定義方式應該相類似的。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |