作者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