|
|||||||||||
| 技術(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)了程序還會走到中斷服務(wù)程序里呢? |
| 作者:slotus 欄目:單片機 |
各位大俠,我最近編了一個程序,剛開始我初始化了定時器,在主程序走完后我開了定時器,然后讓主程序等待就是sjmp $,我仿真時看到定時完就走到中斷程序。在中斷服務(wù)程序里我先關(guān)了定時器,然后走中斷程序重裝定時常數(shù),再開定時器。這樣循環(huán)到最后我關(guān)了定時器,程序跳出中斷到主程序sjmp $處,可是竟然還會重新走到中斷程序里,請問這是什么原因???定時器中斷有什么地方要設(shè)置嗎? |
| 2樓: | >>參與討論 |
| 作者: wenchang 于 2005/1/10 8:44:00 發(fā)布:
re 你到底最后是開了定時器還是關(guān)了呀,你說關(guān)了又開了,最后怎么又關(guān)了呀!是用一個寄存器來跳出最后關(guān)嗎? |
|
| 3樓: | >>參與討論 |
| 作者: abc2001 于 2005/1/10 8:50:00 發(fā)布:
看得不是很明白,你是在中斷程序中循環(huán)的? |
|
| 4樓: | >>參與討論 |
| 作者: williamL 于 2005/1/10 9:09:00 發(fā)布:
貼你的中斷程序上來看看吧 |
|
| 5樓: | >>參與討論 |
| 作者: xingyunlj 于 2005/1/10 16:18:00 發(fā)布:
我的理解 我的理解是:你在中斷程序的最后關(guān)掉定時器,然后退出中斷服務(wù)程序,但是(不知道你用的是什么片子):1、RETI會把你關(guān)掉的定時器重新打開;2、中斷標(biāo)志需要軟件清零,而你沒有清,就反復(fù)觸發(fā) |
|
| 6樓: | >>參與討論 |
| 作者: slotus 于 2005/1/10 22:50:00 發(fā)布:
謝謝各位熱心的朋友 今天我又去調(diào)試了,樓上的說對了。我是走完所有步數(shù)才關(guān)定時器的。最后發(fā)現(xiàn)是看門狗沒有設(shè)置,所以單片機會不停的復(fù)位,現(xiàn)在都對了。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |