VCMSCOMM 发送数据问题

qq_26840477 2017-11-20 10:05:48
我想用MSCOMM控件发送两个数据,两个数据发送到不同的地址,但是问题是,我按下面的代码来PLC没反应,如果只发一个数据PLC就能收到,求助高手,这什么原因啦。
[code=c][/void COMRONDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
if (!m_ctrlComm.get_PortOpen())
AfxMessageBox(_T("please open serial port"));

CByteArray time;
CByteArray M10;
BYTE commstr[8];
UpdateData(true);

commstr[0] = 0x01;
commstr[1] = 0x06;
commstr[2] = 0x00;
commstr[3] = 0x64;
commstr[4] = (int(m_send) & 0xFF00) >> 8;
commstr[5] = int(m_send) & 0x00FF;
USHORT CRC = CRC16((UCHAR *)commstr, 6);
commstr[6] = (CHAR)(CRC & 0xFF);
commstr[7] = (CHAR)((CRC & 0xFF00) >> 8);

for (int i = 0; i < 8; i++)
{
time.Add(commstr[i]);
}

m_ctrlComm.put_Output(COleVariant(time));

//commstr[0] = 0x01;
//commstr[1] = 0x05;
//commstr[2] = 0x00;
//commstr[3] = 0x0A;
//commstr[4] = 0xFF;
//commstr[5] = 0x00;
//CRC = CRC16((UCHAR *)commstr, 6);
//commstr[6] = (CHAR)(CRC & 0xFF);
//commstr[7] = (CHAR)((CRC & 0xFF00) >> 8);

//for (int i = 0; i < 8; i++)
//{
// M10.Add(commstr[i]);
//}

//m_ctrlComm.put_Output(COleVariant(M10));

//m_ctrlComm.put_OutBufferCount(0);

}code]
...全文
89 2 点赞 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qq_26840477 2017-11-23
可行,但是速度下来了,还有什么好的方法来解决吗?
  • 打赏
  • 举报
回复
kuangbao9 2017-11-21
两笔数据之间要Sleep(100),你试一下效果
  • 打赏
  • 举报
回复
相关推荐
发帖
新手乐园
加入

3.3w+

社区成员

C/C++ 新手乐园
申请成为版主
帖子事件
创建了帖子
2017-11-20 10:05
社区公告
暂无公告