long_007 发表于 2010-10-2 15:05:18

小弟碰到个串口接收数据并处理的问题,处理不好,希望高手指点。

我想把串口接收到的数据放到整型数组xxyyd【】中,老是出错,希望高手指点。
我的接收部分的程序如下:
void CSCommTestDlg::OnOnCommMscomm1()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray Safearray_inp;
long len,k;
int yo=0;
int xxyyd={0};
int xxyy=0;
BYTE rxdata;
CString strValue;
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);//BYTE bt=*(char*)(rxdata+k);
strtemp.Format("%c",bt);
strValue=strtemp;
m_strRXData+=strtemp;
m_mn=atoi(strValue);
xxyyd=atoi(strValue);
m_kan+=xxyyd;
xxyy++;

for(yo=0,xy=0;yo<1000,xy<1000;yo++,xy++)
{
if(xxyyd!=0)
xyd=xxyyd;
}
int mm=0;
m_hk+=xyd;
}
}
UpdateData(FALSE);

}

long_007 发表于 2010-10-2 22:12:11

怎么没有高手来指点指点呀!心寒呀!!!

oldtom 发表于 2010-10-2 22:17:51

你这程序看的很累人。

oldtom 发表于 2010-10-2 22:23:52

1.光贴这么一个程序,让别人什么给你看。
2.你的错误到底是个什么错误?

long_007 发表于 2010-10-9 08:35:57

http://cache.amobbs.com/bbs_upload782111/files_34/ourdev_588410Q0T4C6.jpg
用串口接收到的数据 (原文件名:$XN__)643}PFOBAWGJ2$Z2D.jpg)

long_007 发表于 2010-10-9 08:44:06

我想把逗号前面的数据作为x,逗号后面作为y,在静态文本框中画出图形来,附带说明一下,有时候接收到的x,y可能是一位或者是两位的,我碰到的问题是在数据接收及转换的时候,发现数据转换不对。还有就是数据的接收是一字节,一字节的接收,例如;149接收的时候先接收1再接收4然后接收9,这样让我这个C++菜鸟有点头疼,希望高手给点指导。

long_007 发表于 2010-10-9 08:45:31

回复【2楼】oldtom
-----------------------------------------------------------------------

我把问题好好的说明了一下,麻烦你给看看呗,谢谢了,呵呵!

long_007 发表于 2010-10-11 18:37:09

这个问题我解决了。

lonczkw 发表于 2010-10-13 19:58:11

如何解决的?可告诉小弟否?
页: [1]
查看完整版本: 小弟碰到个串口接收数据并处理的问题,处理不好,希望高手指点。