打印

串口通信问题

[复制链接]
1047|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
txcy|  楼主 | 2013-1-27 22:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void interrupt_uart() interrupt 4
{
if(RI)
{       
//         TI=1;
revcom[count]=SBUF;        //接收到的字符存放
RI=0;         //手动清零
if(revcom[count]=='@'){
count=0;
revcom[count]='@';
}

count++;
if(count==4)
{         
if(cmpstr(StartCom,revcom,4)==0)bstart=1;//开始       
else if(cmpstr(StopCom,revcom,4)==0)bstart=0;
else if(cmpstr(Ch1,revcom,4)==0)ichannel=1;
else if(cmpstr(Ch2,revcom,4)==0)ichannel=2;
else if        (cmpstr(Ch3,revcom,4)==0)ichannel=3;
count=0;
}
SBUF=revcom[count];
//         TI=0;
}
}

上述代码中必须有 SBUF=revcom[count];才能正常判断bstart,ichannel;如果没有SBUF=revcom[count]这一行 就不能判断,请问这是什么原因,如何不发送,只接收能?

相关帖子

沙发
baidudz| | 2013-1-27 22:55 | 只看该作者
你别用中断发送,用查询来发送算了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2106

帖子

0

粉丝