MFC 串口循环发送指令问题
问题描述:
希望点击开始运动,进入OnStart函数以后,电机转动一次,就给传感器发送一次指令,并获取传感器的返回值写入文件中。但是目前发现要等到OnStart函数执行结束后,才给传感器发送指令。也就是m_ctrlComm.put_Output(COleVariant(hexdata0));真正起作用的次数只有1次,请问该怎么改进才能让程序连续发送命令并接收数据?
ps: 去掉for循环后数据收发正常
void CSingle_move_Dlg::OnStart() //启动运动
{
//传感器输入值
CByteArray hexdata0;
hexdata0.Add(0x77);
hexdata0.Add(0x04);
hexdata0.Add(0x00);
hexdata0.Add(0x04);
hexdata0.Add(0x08);
for (int i = 0; i < 10; i++)
{
ZAux_Direct_Single_Move(g_handle, m_nAxis, 0.5); //电机运动
m_ctrlComm.put_Output(COleVariant(hexdata0)); //向串口发送指令
Sleep(300);
}
UpdateData(false); //将变量的变化更新到控件里面
MessageBox(_T("测试结束!"));
}