http://blog.youkuaiyun.com/jiadelin/archive/2008/09/03/2871959.aspx
同事在做一个串口通信控件,写好以后在别的计算机上使用报winocc.cpp 345错误,我上网查找问题原因,确认是MSCOMM控件需要CREATE, 经过反复查找资料,终于调通,现具体代码如下:
if (m_ComPort.Create(NULL,WS_CHILD,CRect(0,0,0,0),this,IDC_MSCOMM))
{
AfxMessageBox("成功");
m_ComPort.SetCommPort(4);
m_ComPort.SetInputMode(1); //设置输入方式为二进制方式
m_ComPort.SetSettings("9600,n,8,1"); //设置波特率等参
m_ComPort.SetInputLen(0);
m_ComPort.SetInBufferSize(1024); //设置输入缓冲区的大小,Bytes
m_ComPort.SetOutBufferSize(1024); //设置输出缓冲区的大小,Bytes//
if(!m_ComPort.GetPortOpen()) //打开串口
m_ComPort.SetPortOpen(TRUE);
BSTR b=_com_util::ConvertStringToBSTR("test");///使用前需要加上头文件comutil.h,还需要在link中加入comsupp.lib
VARIANT m_output;
m_output.vt = VT_BSTR; //数据类型
m_output.bstrVal = b; //数据
m_ComPort.SetOutput(m_output);//向串口发送数据
}
else
{
AfxMessageBox("失败");
}
http://www.eggheadcafe.com/forumarchives/vclanguage/Mar2006/post26080811.asp
本文介绍了解决MSCOMM控件在串口通信过程中出现的winocc.cpp345错误的方法。通过详细步骤展示了如何创建串口、设置通信参数及发送数据,为开发者提供了一个有效的解决方案。
1202

被折叠的 条评论
为什么被折叠?



