我的接收函数
void CProtocol12Dlg::OnComm()
{
m_strReceive=_T("");
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_strReceive+=strtemp;
char ch=(char) bt;
}
}
m_strReceive02=m_strReceive.Left(1);
m_strReceive03=m_strReceive.Left(2);
m_strReceive03=m_strReceive03.Right(1);
m_strReceive04=m_strReceive.Left(3);
m_strReceive04=m_strReceive04.Right(1);
m_strReceive05=m_strReceive.Left(4);
m_strReceive05=m_strReceive05.Right(1);
m_strReceive06=m_strReceive.Left(5);
m_strReceive06=m_strReceive06.Right(1);
m_strReceive07=m_strReceive.Left(6);
m_strReceive07=m_strReceive07.Right(1);
m_strReceive08=m_strReceive.Left(7);
m_strReceive08=m_strReceive08.Right(1);
m_strReceive09=m_strReceive.Left(8);
m_strReceive09=m_strReceive09.Right(1);
UpdateData(false);
}
void CProtocol12Dlg::OnComm()
{
m_strReceive=_T("");
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_strReceive+=strtemp;
char ch=(char) bt;
}
}
m_strReceive02=m_strReceive.Left(1);
m_strReceive03=m_strReceive.Left(2);
m_strReceive03=m_strReceive03.Right(1);
m_strReceive04=m_strReceive.Left(3);
m_strReceive04=m_strReceive04.Right(1);
m_strReceive05=m_strReceive.Left(4);
m_strReceive05=m_strReceive05.Right(1);
m_strReceive06=m_strReceive.Left(5);
m_strReceive06=m_strReceive06.Right(1);
m_strReceive07=m_strReceive.Left(6);
m_strReceive07=m_strReceive07.Right(1);
m_strReceive08=m_strReceive.Left(7);
m_strReceive08=m_strReceive08.Right(1);
m_strReceive09=m_strReceive.Left(8);
m_strReceive09=m_strReceive09.Right(1);
UpdateData(false);
}
解决方案 »
- USB 上位机如何同时对两个USB设备进行读写操作
- DLL调用的问题
- 关于static text 的问题
- 怎样向一个文件里插入几个单词
- 如何扩展CAsyncSocket类使其支持阻塞?
- 各位大侠,小弟初学MFC,遇到一个很简单的问题,求指教。
- 请问在VC下写ACTIVEX如何添加VB可以调用的方法?
- CreateProcess ie问题
- 如何实现在子对话框单击鼠标左键,就关闭子对话框?
- 新人求助.如何写软件改变WINDOWS桌面
- 新手上路:请问谁用过CTreeCtrl::SortChildrenCB,能帮我讲讲或者有代码吗?
- mfc初学者对mfc windows程序设计(第二版)中"hello,mfc"的提问.
BYTE bt=*(char*)(rxdata+k);
strtemp.Format("%c",bt);
判断strtemp==chr(13);
然后把m_strReceive里面的值全部读出来并清空
m_strReceive02=m_strReceive.Left(1);
m_strReceive03=m_strReceive.Left(2);
m_strReceive03=m_strReceive03.Right(1);
m_strReceive04=m_strReceive.Left(3);
m_strReceive04=m_strReceive04.Right(1);
m_strReceive05=m_strReceive.Left(4);
m_strReceive05=m_strReceive05.Right(1);
m_strReceive06=m_strReceive.Left(5);
m_strReceive06=m_strReceive06.Right(1);
m_strReceive07=m_strReceive.Left(6);
m_strReceive07=m_strReceive07.Right(1);
m_strReceive08=m_strReceive.Left(7);
m_strReceive08=m_strReceive08.Right(1);
m_strReceive09=m_strReceive.Left(8);我在这里的一个字节总是为倒数第二个字节,如果我一步步,运行又非厂对.但编译出运行就出错. m_strReceive09=m_strReceive09.Right(1);