|
|||||||||||
| 技術(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 |
中斷為什么會(huì)亂來!? |
| 作者:guangg 欄目:單片機(jī) |
我在動(dòng)用PIC16F873中斷時(shí),開啟了TMR1和RB口中斷,通過掃描RCIF來啟動(dòng)通信。在運(yùn)行過程中,當(dāng)RB口產(chǎn)生中斷時(shí),能進(jìn)入RB中斷處理程序,但好像同時(shí)也使得RCIF被置位,而進(jìn)入通信處理,不知為何會(huì)產(chǎn)生這種中斷亂來的情況,還是有什么特別的地方要設(shè)置?希望大蝦們能幫小弟一把,多謝! |
| 2樓: | >>參與討論 |
| 作者: xiayaowan 于 2003/5/23 14:46:00 發(fā)布:
不會(huì)吧 你在進(jìn)行中斷處理時(shí),要把中斷關(guān)掉!中斷處理以后再打開中斷!這樣就不會(huì)有那種情況了! |
|
| 3樓: | >>參與討論 |
| 作者: spadger 于 2003/5/25 8:58:00 發(fā)布:
這個(gè)問題應(yīng)該不是每次都會(huì)發(fā)生吧? 在外部中斷發(fā)生時(shí)同時(shí)定時(shí)器發(fā)生溢出,本來就是正常的事。也有可能在執(zhí)行外部中斷處理程序的過程中,定時(shí)器發(fā)生溢出,這都是正常的事。關(guān)鍵在于你必須分清,哪個(gè)是你應(yīng)該優(yōu)先處理的。 |
|
| 4樓: | >>參與討論 |
| 作者: Tom_Cat 于 2003/5/27 22:42:00 發(fā)布:
在進(jìn)入中斷服務(wù)程序時(shí),GIE是自動(dòng)關(guān)掉的。 |
|
| 5樓: | >>參與討論 |
| 作者: jw5th 于 2003/5/28 18:44:00 發(fā)布:
在進(jìn)入中斷服務(wù)程序時(shí),GIE是自動(dòng)關(guān)掉的。 這句話是對(duì)的,但GIE并不影響其他中斷標(biāo)志位的狀態(tài),PIC只有一個(gè)中斷入口,如果有多種中斷需要處理,中斷服務(wù)程序應(yīng)該是一個(gè)循環(huán)體,就是按優(yōu)先級(jí)處理完某一中斷情況后,回到循環(huán)體的開始,檢查一下其他的中斷標(biāo)志位,如果沒有任何一種需要處理,才決定退出,這樣可以較理想地處理多中斷同時(shí)出現(xiàn)的問題。當(dāng)然還是比不上那些有多中斷入口的CPU那么好用。 |
|
| 6樓: | >>參與討論 |
| 作者: wugentao 于 2003/5/28 23:38:00 發(fā)布:
沒必要回到循環(huán)體的開始,執(zhí)行返回就自動(dòng)開放GIE |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |