导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:救命!!这样的串口程序为什么不行?初始化保证没问[nlg]

 *第3330篇: C51编程:救命!!这样的串口程序为什么不行?初始化保证没问题

  
楼 主:nlg 2002年5月20日16:48
 C51编程:救命!!这样的串口程序为什么不行?初始化保证没问题
void port(void) interrupt 4 using 2
{   
    while(RI==0){watchdog();}
    Buffer=SBUF;
    P2_0=0;    
    RCVBYTEOK=1;
    RI=0;
        
}

  
2楼:chenzj 2002年5月20日23:44
 串口中断程序处理
语句while(RI==0){watchdog();}分析:
1、如果中断由接收数据产生,程序可以正常接收数据。
2、如果中断由发送数据产生,程序则进入一个死循环陷阱。
    可以在程序中增加一个发送标志Send_Flg,发送数据时Send_Flg置1,发送完数据一定
要清零,这样修改程序试一试:
void port(void) interrupt 4 using 2
{   
    if(!Send_Flg){
    while(RI==0){watchdog();}
    Buffer=SBUF;
    P2_0=0;    
    RCVBYTEOK=1;
    RI=0;
    }    
}


>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:请教视频编解码芯片

[下一篇主题]:闲聊:51bbs又爬下了,各位这里能上吗?