Board logo

标题: AW SCi [打印本页]

作者: dpzc1234    时间: 2008-5-26 14:56     标题: AW SCi

接收只能接收一个字符然后断电之后能接收下一个字符是什么原因啊interrupt VectorNumber_Vsci1rx void isrSCI1(void)
{
byte temp = 0;
temp = SCI1S1; //接收当前的字符
cReceiveTemp=SCI1D; //接收当前的字符
if(cReceiveTemp=='e') ////////接收到结束码后的处理
{
temp = SCI1S1;
if(cReceiveBuf[cReceiveNum-1]==cReceiveSum) //////效验和正确
{
cReceiveBuf[cReceiveNum-1]='\0'; //上次接收到的字符为接收数组结束标志
Receive(); //接收数据处理
}
SCI1C2_RIE=0;
cReceiveNum=0; //清发送已接收的数据计数
cReceiveSum=0; //清接收效验和
cReceiveBuf[0]='\0'; //设定接收数据长度为零
cReceiveTemp=0; //清接收暂存
cReceiveTemp1=0; //清上次接收暂存

}
else ////////接收数据
{
temp=SCI1S1;
cReceiveBuf[cReceiveNum]=cReceiveTemp; //把本次接收的数据放到数组中
cReceiveSum+=cReceiveTemp1; //求效验和
cReceiveTemp1=cReceiveTemp; //把本次接收的数据放到暂存,用作下次的效验和
cReceiveNum++; //接收数据计数加1
}
}
作者: strongchen    时间: 2008-5-27 10:26

有没有清楚中断标志?




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0