afx_msg void OnCommMscomm();
ON_EVENT(CDlg, IDC_MSCOMM, 1, OnCommMscomm, VTS_NONE)
void CDlg::OnCommMscomm() //串口接收数据
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata_temp[400]; ///ZM
CString strtemp,strtemp1;
if(m_ctrlCommGetCommEvent() != 2) //事件值为2表示接收缓冲区内有字符
return;
variant_inp = m_ctrlCommGetInput(); //读缓冲区
safearray_inp = variant_inp; //VARIANT型变量转换为ColeSafeArray型变量
len = safearray_inpGetOneDimSize(); //得到有效数据长度
for(k = 0; k < len; k++)
{
}
}
串口调试工具 可以用来调试 串口通信程序。
检测电脑的串口是否正常:如果只有1台电脑,可以 短接 串口 的 2、3针这时可以用 串口调试工具 发送数据,如果 串口功能正常,串口调试工具 的接收窗口 会有数据 回显;否则,串口功能不正常。
当然,1台电脑也可以用 串口调试工具 来调试 串口通信程序,这时 就不需硬件,但需要 虚拟串口软件工具。
你是想怎样判断电脑和设备之间是否建立连接了吗? 这需要下位机支持握手协议,你发送一串数据值设备如何收到设备返回的数据帧就判断为连接成功,否则连接失败。
因为你电脑存在COM1所以执行上述代码COM1被成功打开了当然不会提示失败!
关于“构造函数没有返回值”,
请注意: m_mscommput_Output调用的参数不是COleVariant的返回值, 而是一个COleVariant类的实例。
这样,m_mscommput_Output函数中,可以调用COleVariant中的函数或公用变量。
而构造函数则将变量存入至COleVariant类中, 供m_mscommput_Output函数调用。
可以肯定的说,一个应用程序申请的端口只能供其自身使用。
根据你标题信息来看,要注意你在程序退出的时候是否释放申请的端口资源。
if 串口打开
{
串口关闭
}
以上就是关于MFC中怎么等待串口事件触发全部的内容,包括:MFC中怎么等待串口事件触发、NIKON MFC101A 串口调试命令、【MFC中 串口通信 怎么检测是否连接成功】等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)