- 论坛徽章:
- 0
|
大家好,前一段时间做了简单的RS232C串口显示程序,效果还可以
这两天想把GPGAA格式数据中的时间提取出来,但是出现了错误,不知道怎么回事,希望各位朋友帮忙,代码如下
void CSCommTestDlg::OnComm()
{
// TODO: ]
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
int id=0;//逗号
BYTE rxdata[2048];
CString strtemp;
if(m_ctrlComm.GetCommEvent()==2)
{
variant_inp=m_ctrlComm.GetInput();
safearray_inp=variant_inp;
len=safearray_inp.GetOneDimSize();
for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);
for(k=0;k<len;k++)
{
BYTE bt=*(char*)(rxdata+k);
strtemp.Format("%c",bt);
m_strRXData+=strtemp;
m_strRXData1+=strtemp;
if(strtemp=='$')
{
id=0;
m_strRXData1.Empty();
m_strRXData2.Empty();
}
if(strtemp==',')
{
id++;
}
switch(id)
{
case 1:
m_strRXData2+=strtemp;
break;
default:
break;
}
}
}
UpdateData(FALSE);
}
其中RXDATA是我设置的三个对话框的名字,多谢大家了 |
|