Re: [問題] 8051的外部中斷 除彈跳問題
※ 引述《Jhih8051 ()》之銘言:
: void EX0(void) interrupt 0 using 1
: {
unsigned int Delay;
EX0 = 0;
Delay = 5000;
while(Delay--)
{
if(SW == 0)
{
Delay = 5000;
}
}
: cnt++;
IE0 = 0;
EX0 = 1;
: }
: 另外想請問,
: 中斷旗標IE0是在進入中斷就被清除 or 執行完中斷副程式才清除?
進中斷時IE0就會清掉(by hardware)
但若有殘餘彈跳,則IE0 又會被set
所以我的作法是,在離開中斷程式前,手動清除IE0
反彈跳的Delay設定數值,跟你的頻率與彈跳特性有關
: 又,在中斷副程式執行過程中,
: 如果又發生中斷,是否IE0也會被影響?
yes。所以中斷程式要寫得越短越好
: 看似是一個簡單不過的問題,
: 但真的卡很久在這裡了,
: 要麻煩各位高手幫忙 > <"
--
※ 編輯: Aquatics 來自: 219.85.2.249 (05/16 11:47)
※ 編輯: Aquatics 來自: 219.85.2.249 (05/16 11:47)
推
05/16 13:33, , 1F
05/16 13:33, 1F
→
05/16 20:26, , 2F
05/16 20:26, 2F
→
05/16 21:02, , 3F
05/16 21:02, 3F
推
05/17 14:54, , 4F
05/17 14:54, 4F
→
05/17 14:55, , 5F
05/17 14:55, 5F
→
05/17 22:17, , 6F
05/17 22:17, 6F
推
05/18 01:54, , 7F
05/18 01:54, 7F
推
05/30 11:24, , 8F
05/30 11:24, 8F
→
05/30 11:24, , 9F
05/30 11:24, 9F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章