智能车制作

标题: 求助串口问题 [打印本页]

作者: lhqc212    时间: 2009-9-7 17:07
标题: 求助串口问题
各位我想问一下,用串口接收数据怎么识别字符串啊?现在的程序收发都没有问题,但无论怎么改都只能识别第一个字符
void Rece(void) {

byte iRece,receData;


receData = SCI0SR1;


receData = SCI0DRL;


ReceBuffer[fram_num++]=receData;


if(fram_num ==1) {


if(ReceBuffer[0]!=0x26)fram_num = 0;




}


else if(fram_num ==2) {


if(ReceBuffer[1]!=0x30)fram_num = 0;


}


else if(fram_num ==3) {


if(ReceBuffer[2]!=0x31)fram_num = 0;


}


else if(fram_num>15) {


receData = 0;


fram_start = 0;


for(iRece = 3;iRece<9;iRece++)receData+=ReceBuffer[iRece];


if(ReceBuffer[8]==0x0d) {

       fram_num=0;
       PTJ=~PTJ;
     }
  }
}

这是我原来的程序 ,请帮帮忙吧,我第一次做这个。
作者: zdhly0401    时间: 2009-9-7 17:07
3# lhqc212
你接收一个字符正确没,如果不用中断的话,你接受就得在循环中不断检测标志位,还不如在中断中好用呢,你先做好接受一个字符的,先别判断字符时什么,接收到,单片机在把这个字符通过串口传回去,这样调
作者: zdhly0401    时间: 2009-9-7 23:01
1# lhqc212
你这个接受是在中断里面进行的吧,你把你的思路和大家说一下
作者: lhqc212    时间: 2009-9-8 08:19
接收不想在中断中控制,是这样的,要接收很多字符串,但只识别“&01+命令+回车”格式的做动作,我写的只是想先识别&01,命令也是字符串,有好几个,现在光识别&01我都做不到。串口我只调过LABVIEW的,这个我没做过,很晕,想慢慢入门,可是时间来不及,上面催的紧。各位帮帮忙,一句话都能让我少走很多弯路,谢谢。
作者: lhqc212    时间: 2009-9-8 19:43
好的 我试下  谢谢
作者: lhqc212    时间: 2009-9-8 19:50
昨天调的可以接收识别一个字符,可今天过去又不行了,明天我试下中断




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2