新人贴 自己编的MFC串口,用for循环能实现自动发送么

hitwhzhongqiu 2014-07-03 09:16:30
void CMSCOMM_TESTDlg::OnBnClickedButtonsend()
{
// TODO: 在此添加控件通知处理程序代码
//单击发送按钮的操作

UpdateData(true); //读取编辑框内容
for (int i=0;i<3;i++)
{

m_MSCOMM.put_Output(COleVariant(m_send));//发送数据
Sleep(3000);
}

//m_send.Empty(); //发送后清空输入框

//UpdateData(false); //更新编辑框内容

//对发送的数据进行强制类型转换,由CString 字符串数据转换为VARIANT 类型。
}
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hitwhzhongqiu 2014-07-04
  • 打赏
  • 举报
回复
菜鸟在此受教了,谢谢各位
向立天 2014-07-04
  • 打赏
  • 举报
回复
这种操作一般建议启动独立线程处理
rxguoblp 2014-07-04
  • 打赏
  • 举报
回复
首先,你这不叫“自己编的MFC串口”,而是一个点击一次发送3遍的数据发送函数; 其次,放在界面主线程里也是可以滴,不过干嘛要Sleep(3000)这么久?Sleep(30)足够了,不到0.1秒的假死你根本看不见。
傻X 2014-07-03
  • 打赏
  • 举报
回复
不能。。因为你For会锁死你的界面线程的,导致你永远只处理这条消息。消息循环不起作用了。 OnTimer定时器可以,因为是定时发消息。
邓学彬 2014-07-03
  • 打赏
  • 举报
回复
for可以连续发送,但是你这样容易造成界面假死. 建议:SetTimer、在OnTimer中发送,或者创建一个新的线程来执行for

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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