|
|||||||||||
| 技術(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 |
急問(wèn):調(diào)試時(shí)的中斷問(wèn)題 |
| 作者:wildship 欄目:單片機(jī) |
我編了一個(gè)中斷程序,采用的芯片是90LS8535,PD2作為外部中斷0的入口,進(jìn)入中斷程序后跳不出來(lái),請(qǐng)各位高手幫忙指點(diǎn)一下,謝了。 中斷程序如下: #pragma interrupt_handler controlchange:2 void controlchange() { MCUCR=0X00; DDRD=0X8B; CLI(); for(;;) { if(checkbit(PIND,4)==1) { PORTD &= 0X01; PORTC = 0X48; } if(checkbit(PIND,5)==1) { PORTD &= 0X02; PORTC = 0X50; } if(checkbit(PIND,6)==1) { PORTD &= 0X08; } if(checkbit(PIND,3)==1) break; } } 我是想用PD2的高電平再跳出中斷,不知這樣是不是可行?望高手指點(diǎn)一二。 滿(mǎn)足if中的條件也不執(zhí)行其下面的動(dòng)作。 |
| 2樓: | >>參與討論 |
| 作者: 音樂(lè)樂(lè)樂(lè) 于 2005/1/2 22:39:00 發(fā)布:
查一下你的觸發(fā)方式設(shè)置 是不是設(shè)置成電平方式觸發(fā)了?改為沿觸發(fā) |
|
| 3樓: | >>參與討論 |
| 作者: wildship 于 2005/1/3 16:18:00 發(fā)布:
不行啊,我改過(guò)來(lái)了還是不行啊 我改過(guò)來(lái)了,也不行的。主要是進(jìn)入程序后不執(zhí)行if中的語(yǔ)句(條件滿(mǎn)足也不執(zhí)行),各位高手幫幫忙啊,看看是什么原因,謝謝了~~。! * - 本貼最后修改時(shí)間:2005-1-3 16:25:52 修改者:wildship |
|
| 4樓: | >>參與討論 |
| 作者: 音樂(lè)樂(lè)樂(lè) 于 2005/1/3 20:20:00 發(fā)布:
checkbit(PIND,3)怎么寫(xiě)的? 有沒(méi)有把PD最為輸入?DDRD=0x00; |
|
| 5樓: | >>參與討論 |
| 作者: wildship 于 2005/1/3 21:45:00 發(fā)布:
謝謝 音樂(lè)樂(lè)樂(lè) ,現(xiàn)在搞定了。 謝謝 音樂(lè)樂(lè)樂(lè) 大俠。 是讀IO口的問(wèn)題,后來(lái)我改成了在if前添加了: PIND&=0b00010000,條件語(yǔ)句條件改為PIND==0x10(以第一個(gè)為例),就能進(jìn)去了。但我不清楚這樣為什么就行呢? checkbit(var,n)是查看位的宏函數(shù),在源程序里有定義的,但寫(xiě)上去后不能判斷了,為什么? 另:樂(lè)樂(lè)大俠,有沒(méi)有其它的判斷變量的位的方法,望賜教,謝謝了。 |
|
| 6樓: | >>參與討論 |
| 作者: winsu 于 2005/1/5 16:39:00 發(fā)布:
有個(gè)問(wèn)題你沒(méi)考慮. 如果你手動(dòng)觸發(fā),那么要考慮振蕩現(xiàn)象. |
|
| 7樓: | >>參與討論 |
| 作者: 音樂(lè)樂(lè)樂(lè) 于 2005/1/5 20:20:00 發(fā)布:
唉,開(kāi)始給你回了一大堆網(wǎng)絡(luò)斷了 簡(jiǎn)單點(diǎn)吧 #define CHECK_BIT(x,y) ((x)&(1<<(y))) 判斷時(shí):if(CHECK_BIT(PIND,2))或者if(!CHECK_BIT(PIND,2)) 如一定要和1比較,這樣 #define CHECK_BIT(x,y) (((x)&(1<<(y)))>>(y)) |
|
| 8樓: | >>參與討論 |
| 作者: wildship 于 2005/1/6 17:33:00 發(fā)布:
謝謝了,各位。。。。! 這兩天在忙著開(kāi)題的事,看到這么多的人看這個(gè)帖子,謝謝大家的關(guān)心。 特別謝謝樂(lè)樂(lè)大俠和winsu。 樂(lè)樂(lè)大俠可不可以告訴我你的E-mail,我的事wildship◎sina.com,以后還要多多請(qǐng)教。 |
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |