这是232串口发送数据的一段
//发送数据
void CSR232Dlg::OnButton1()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE); //读取编辑框内容
//remove("1.txt"); //删除文件1.txt
//DeleteFile("1.txt");
//rename("1.txt","2.txt");//把1.txt改成2.txt;
if(m_S16View.GetCheck())
{
CString StrData,Strs;
StrData.Format("%s",m_SData);
StrData.Replace(" ","");
CByteArray hexdata; for (int i=0;i<StrData.GetLength();i+=2)
{
Strs=StrData.Mid(i,2);
//AfxMessageBox(Strs);
//int len=String2Hex(m_SData,hexdata); //此处返回的len可以用于计算发送了多少个十六进制数
int len=String2Hex(Strs,hexdata);
m_ctrlComm.SetOutput(COleVariant(hexdata)); //发送十六进制数据
for(int j=0;j<m_DTms;j++)
Sleep(1);
}
}
else
m_ctrlComm.SetOutput(COleVariant(m_SData));//发送ASCII字符数据
}发送的同时还监测收数据,可是当我在for循环中用了AfxMessageBox后就可以在发送的中间也能收到对方发过来的数据,如果不加AfxMessageBox则只有在for循环结束后才可以收到对方的数据,而对方的数据是在我这边发送的两个数据的中间时间发送过的。。
好像只有中止一下for语句,才可以进行收,否则程序就一直在执行for语句,不能执行别的操作,有什么办法可以实现在语句中加AfxMessageBox的功能。。
//发送数据
void CSR232Dlg::OnButton1()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE); //读取编辑框内容
//remove("1.txt"); //删除文件1.txt
//DeleteFile("1.txt");
//rename("1.txt","2.txt");//把1.txt改成2.txt;
if(m_S16View.GetCheck())
{
CString StrData,Strs;
StrData.Format("%s",m_SData);
StrData.Replace(" ","");
CByteArray hexdata; for (int i=0;i<StrData.GetLength();i+=2)
{
Strs=StrData.Mid(i,2);
//AfxMessageBox(Strs);
//int len=String2Hex(m_SData,hexdata); //此处返回的len可以用于计算发送了多少个十六进制数
int len=String2Hex(Strs,hexdata);
m_ctrlComm.SetOutput(COleVariant(hexdata)); //发送十六进制数据
for(int j=0;j<m_DTms;j++)
Sleep(1);
}
}
else
m_ctrlComm.SetOutput(COleVariant(m_SData));//发送ASCII字符数据
}发送的同时还监测收数据,可是当我在for循环中用了AfxMessageBox后就可以在发送的中间也能收到对方发过来的数据,如果不加AfxMessageBox则只有在for循环结束后才可以收到对方的数据,而对方的数据是在我这边发送的两个数据的中间时间发送过的。。
好像只有中止一下for语句,才可以进行收,否则程序就一直在执行for语句,不能执行别的操作,有什么办法可以实现在语句中加AfxMessageBox的功能。。
解决方案 »
- 关于DLL执行结果返回应用程序的问题
- 怎样将自己的代码加密?
- 请问大家一下:在屏幕上输出一个半径为:50蓝色的,圆心坐标为:(100,100)?怎么在visual c++上编写程序的呢??谢谢!
- 请问怎样能打开 .pdg 格式的文件 谢谢了!
- polyline算法
- 在ADO编程中如何设定数据库连接字串?
- 一个计算机大学生的思考?我们学什么呢??
- ************** 招聘VC程序员 **********************
- 哪儿能找到Rational Rose2002的Licence Key?
- 帮忙:现在用Vc++6.0软件开发完毕,我想制作成多种语言版本,请问该如何做呢?
- 怎样给一个STATIC控件添加一个事件?
- 这样一个全局键盘钩子怎么不对呢?
用timer,怎么用,是用timer来代替for吗??
俺才刚刚开始学VC吗,大家可以笑话我,但一定要帮助我,因为我会谢谢你们哟。。