fgl2599 发表于 2012-10-29 21:59:34

串口通讯的一点问题,求指教

本帖最后由 fgl2599 于 2012-10-29 22:51 编辑

最近再用,STC12C的单片机,发现一个很奇怪的现象,下面是简单程序
程序改成中断方式。
void uart_isr()interrupt 4
{
         if(RI)
         {
               sbuf=SBUF;
               SBUF=sbuf;
               while(!TI)
               TI=0;
               RI=0;
         }
}
void main()
{
         AUXR=0x80;
         SCON=0x50;
         TMOD=0x20;
         TH1=TL1=-(FOSC/12/32/BAUD);
         TR1=1;
         ES=1;
         EA=1;
         while(1)
         {
         led=~led;
         delayms(500);
         }
}
开机500MS灯亮或灭一次,一次串口中断后,灯大概5秒亮或者灭一次,以后也保持这样

devcang 发表于 2012-10-29 22:11:29

你也说串口通讯,那串口通讯也是要时间的。

fgl2599 发表于 2012-10-30 20:17:13

有人来看看嘛

slotg 发表于 2012-10-31 17:20:31

看不出问题, 但是类似的状况我碰过: 原因是中断后没有清除中断旗标, 导致不断的进入中断回路, 而让主回路的执行变慢.

876192514 发表于 2012-11-1 19:49:43

把中断里的发送功能去掉 或者试试关闭接收功能发送完再打开 就没事了应该

adcr 发表于 2012-11-1 23:16:33

请记住,发送也会引起串口中断,中断又中断,中断何其了!堆栈满了就复位
页: [1]
查看完整版本: 串口通讯的一点问题,求指教