[問題] 請教一個89S52的問題

看板ASM (組合語言)作者 (......)時間16年前 (2008/11/14 15:36), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/1
※ [本文轉錄自 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

11/15 00:33, , 1F
RI 沒清掉
11/15 00:33, 1F

11/15 07:26, , 2F
我後來有在while迴圈中加入清RI的動作 不過好像沒用
11/15 07:26, 2F

11/15 07:27, , 3F
順便請教一下 為啥RI會影響到其他的timer呢??? 不是獨立的嗎
11/15 07:27, 3F

11/16 12:22, , 4F
沒有清掉的話,會一直跑UART 中斷 , 如果你UART中斷有打開
11/16 12:22, 4F
文章代碼(AID): #197Ifenn (ASM)
文章代碼(AID): #197Ifenn (ASM)