VC串口通信问题?
本帖最后由 VisualEleven 于 2012-10-13 17:48:08 编辑 我用VC的mscomm控件实现了数据的接受,发送三个数据,在对应的编辑框接受时出现只显示最后一个数据,前面的两个数据被覆盖,这是什么原因,下面附有代码
m_strRXData="";
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
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;
}
UpdateData(FALSE);
[最优解释]
m_strRXData="";
这句放在程序的初始化函数里,除非你设成有三个数据才中断,否则来一个数据就中断,就只能显示最后一个数据,前面的数据都被这句给清了
[其他解释]
谢谢您的帮助 问题已解决 您的提点真是柳暗花明又一村啊 呵呵 谢谢