MFC MSComm控件转CserialPort类
以前用CMScomm控件写的串口通讯程序,现在打算用用CSerial类实现以下,但是有些问题解决不了,请教高人指点。
代码如下:
- C/C++ code
CMSComm m_comm;CString strTotal;void Crs232_JitterSERDlg::onCommMscomm1(){ CByteArray cBytArrayOnComm; COleVariant varoutOnComm; int comEvent=m_comm.GetCommEvent(); CString strBufferOnComm; switch(comEvent) { case 2: { cBytArrayOnComm.RemoveAll(); varoutOnComm.Clear(); varoutOnComm=m_comm.GetInput(); Sleep(5); varoutOnComm.GetByteArrayFromVariantArray(cBytArrayOnComm); strBufferOnComm=ConvertByteArrayStr(cBytArrayOnComm); strTotal=strTotal+strBufferOnComm; ::ResumeThread(hThreadAnylize); break; } default : break; }}我不太清楚,如果用CSerail类的话,怎么能对应到MSComm控件?onComm函数和GetInput()函数在控件中怎么对应?
[解决办法]
这个估计得去查Windows 核心编程里面的串口编程的API了,或者你能找到onComm()和GetInput()的函数具体实现也可以。个人感觉难度有点大
[解决办法]
要用控件就用控件,要用类就用类.
你要使用类的话肯定是要使用一 个对象..
你的控件中也使用了一个对象.
那么 这两个对象不能结合在一起,或是很难结合在一起..
你只能用一种方法实现,要么用类.要么用CSerial
网上还有个cncomm串口操作类吧.你也可以试下.挺好用的.我就用它写了一个.
[解决办法]
串口操作应该很多的