MFC MSComm控件转CserialPort类

gaoxing_1985007 2011-11-27 08:45:30
以前用CMScomm控件写的串口通讯程序,现在打算用用CSerial类实现以下,但是有些问题解决不了,请教高人指点。

代码如下:


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()函数在控件中怎么对应?
...全文
126 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
一叶之舟 2011-11-28
  • 打赏
  • 举报
回复
串口操作应该很多的
self001 2011-11-27
  • 打赏
  • 举报
回复
要用控件就用控件,要用类就用类.
你要使用类的话肯定是要使用一 个对象..
你的控件中也使用了一个对象.
那么 这两个对象不能结合在一起,或是很难结合在一起..
你只能用一种方法实现,要么用类.要么用CSerial

网上还有个cncomm串口操作类吧.你也可以试下.挺好用的.我就用它写了一个.
nuaazdh 2011-11-27
  • 打赏
  • 举报
回复
这个估计得去查Windows 核心编程里面的串口编程的API了,或者你能找到onComm()和GetInput()的函数具体实现也可以。个人感觉难度有点大

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧