新手上路
- 积分
- 28
- 金钱
- 28
- 注册时间
- 2015-10-29
- 在线时间
- 0 小时
|
5金钱
AVR单片机,STMega32.
声明两个串。 Buff为缓冲,读取串口数据。RxString 是存放短消息的buff中第2行数据。
uchar buff[512];
uchar RxString[255];
以上为定义的两个串。
问题是: 如果长串的数据,如果不用这句显示DisplayOneChar(15,1,*buf);那么RxString 就不能完整解码。总缺3到4个字符。可是我不需要显示这些数据。请高手指教。
uchar ReadLine(uchar *buf,uchar *RxStr,uchar lineIndex)
{
uchar c=0;
uchar flag=0;
uchar line=0;
while(*buf)
{
if(*buf==0x0A)
{
line++;
if( lineIndex ==line)flag=1; else flag=0;
}
if ((flag) &&(*buf>0x10)) {
*dat=*buf;
DisplayOneChar(15,1,*buf);
dat++;
c++; }
buf++;
}
*dat = 0;
return c;
} |
|