作者sparc (......)
看板ASM
標題[問題] 請教一個89S52的問題
時間Fri Nov 14 15:36:07 2008
※ [本文轉錄自 C_and_CPP 看板]
作者: sparc (......) 看板: C_and_CPP
標題: [問題] 請教一個89S52的問題
時間: Fri Nov 14 15:35:21 2008
目前再寫一個小專題
我用到一個外部中斷 int0
一個計時器 timer0
還有RS232 使用timer2產生baudrate (9600)
其中有一段 是要判斷這三個任何一個發生中斷變要跳出的迴圈
我是使用while(time_out!=1 && buttom==-1 && RI==0) 來做判斷
其中buttom使用int0去監控使用者並沒有按下buttom
time_out使用timer0 去判斷時間還沒到
RI則是判斷RS232沒有傳訊息過來
當我還沒有透過rs232丟任意字元給89s52的時候 程式一切正常
可是一旦丟給89s52 程式整個就執行不下去
連timer0的 interrupt都會停止
有沒有高手可以幫個忙想一下 問題可能是出在哪呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.231.153.253
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.231.153.253
1F:推 wuzen:RI 沒清掉 11/15 00:33
2F:→ sparc:我後來有在while迴圈中加入清RI的動作 不過好像沒用 11/15 07:26
3F:→ sparc:順便請教一下 為啥RI會影響到其他的timer呢??? 不是獨立的嗎 11/15 07:27
4F:推 wuzen:沒有清掉的話,會一直跑UART 中斷 , 如果你UART中斷有打開 11/16 12:22