请教一个用MSComm连续外发数据时遇到的问题:

dongguacha 2005-11-03 04:35:29
请教一个用MSComm连续外发数据时遇到的问题:

我的程序流程:在while(myReader.read())循环体里首先读数据表中的手机号码(只有两个记录),然后用myComm.Output的方法写串口发送,再回到while(myReader.read())中判断并获取下一个号码,.....但运行后却只能成功发送第一个号码??如果在程序中加断点,有时又能成功发送第二个号码,似乎是串口的处理速度赶不上电脑写串口的速度,请问各位该如何解决???
...全文
86 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
storm2003 2005-11-23
  • 打赏
  • 举报
回复
注意要延时

你可以令RThreshold = 0;//不产生Oncomm事件

自己定义一个读串口的方法,如果数据串有定长,则用定长控制读串口的时间,或用延时控制System.Threading.Thread.Sleep(3000);
zyg0 2005-11-03
  • 打赏
  • 举报
回复
+延时函数
private Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
'*************************************************************************
'**函 数 名:Mysleep
'**输 入:Optional ByVal stime(Long = 500) -休眠的时间,毫秒为单位
'**输 出:无
'**功能描述:让计算机休眠指定的时间,并且可以响应事件
'**全局变量:
'**调用模块:
'**作 者: 影子
'**日 期:2005-02-23 16:13:08
'**修 改 人:
'**日 期:
'**版 本:V1.0.0
'*************************************************************************
Public Sub Mysleep(Optional ByVal stime As Long = 500)
Dim Savetime As Long
Savetime = GetTickCount '记下开始的时间
Savetime = CLng(Savetime) + stime
While GetTickCount < Savetime
'循环等待
DoEvents '转让控制权,以便让操作系统处理其它的事件。
Wend
End Sub

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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