看板 ASM 關於我們 聯絡資訊
※ [本文轉錄自 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
wuzen:RI 沒清掉 11/15 00:33
sparc:我後來有在while迴圈中加入清RI的動作 不過好像沒用 11/15 07:26
sparc:順便請教一下 為啥RI會影響到其他的timer呢??? 不是獨立的嗎 11/15 07:27
wuzen:沒有清掉的話,會一直跑UART 中斷 , 如果你UART中斷有打開 11/16 12:22