读ascii,等待救助,该如何处理

读ascii,等待救助

$GPRMC,,V,3956.5770,N,11617.7391,E,,,,,*0A
$GPGLL,3956.5770,N,11617.7391,E,,V*3D
$GPGGA,,3956.5770,N,11617.7391,E,0,00,,77.5,M,,M,,*46
$GPGSV,3,1,10,06,23,266,,08,13,037,,09,19,174,,10,32,082,*78
$GPGSV,3,2,10,15,83,019,,18,29,290,,21,49,304,,24,77,196,*76
....
从串口读数,为啥读不到上面这样的数呢?(同时用别的软件就可以)
部分程序如下:(之前我用同样的方法得到过别的数据)
BYTE data[2048];
CString d;
for(i=0;i<length;i++) //length为缓冲区数据长度

if(data[i]=='$')//怎么也找不到'$'
{
  for(int j=0;j<40;j++)
{
d.Format(" %d",data[i+j]);
 
}
m_Message+=d;//显示


}  


------解决方案--------------------
调试一下,看看data里面读完数据之后都是什么,读的是不是正确吧
------解决方案--------------------
根据你的代码看不出什么问题啊,
------解决方案--------------------
你的代码貌似没有往data里面读入数据啊。读入了查看一下内存吧