如何判断串口数据开始传送和传送完毕

goosen 2008-08-08 09:50:53
我有这样的一个串口接收数据程序

Private Sub Form_Load()
'MSComm1.Settings = BaudRate & ",n,8,1"
MSComm1.InBufferSize = 1024 '设置接收缓冲区的大小
MSComm1.InputLen = 0 '设置或返回,从接收缓冲区读取的字符数,0时(默认),读取缓冲区全部字符
MSComm1.RThreshold = 1 '接收区的“门阀值”,0时(默认),不产生OnComm事件;1时,接收缓冲区每接收到一个字符,都会产生OnComm事件
MSComm1.SThreshold = 1 '发送区的“门阀值”,0时(默认),不产生OnComm事件;1时,发送缓冲区每接收到一个字符,都会产生OnComm事件
MSComm1.InBufferCount = 0
MSComm1.PortOpen = True '通讯时,必须打开串口,应用程序完成时,MSComm控件自动关闭串口
MSComm1.InputMode = comInputModeText
Option1.Value = True
Option3.Value = True
Text1.Text = ""
End Sub


Private Sub Command2_Click()
If Option1.Value Then
MSComm1.CommPort = 1 '设置或返回端口号,值为1到16的整数,PC通常可以有16个串口
MSComm1.Settings = "2400,n,8,1" '设置并返回通讯参数,值为字符串String行
End Sub



Private Sub mscomm1_oncomm()
Dim number As Integer
'确认串口事件
Select Case MSComm1.CommEvent
Case comEvReceive '2 :收到RThreshold个字符,持续产生事件,直到Input属性删除Input缓冲区的数据
Text1.Text = Text1.Text & MSComm1.Input & vbCrLf
Text1.SelStart = Len(Text1.Text)
End Select
End Sub



我的程序在单击Command2 时是 进入等待接收


现在有个问题是 我想当一有数据进入时 把 Command2 的 caption 改为 数据传送中
当数据传送完毕时把command2.caption 改为 数据传送完毕

不知要判断那个参数才能实现 请高手帮帮忙 thank you
...全文
690 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
goosen 2008-08-22
  • 打赏
  • 举报
回复
 Case comEvEOF = 7
Label3.Caption = "数据传送完毕 !"
End Select

这样行吗
fvflove 2008-08-09
  • 打赏
  • 举报
回复
MSComm1.CommEvent 属性.

Const comEvSend = 1
Send event.

Const comEvEOF = 7
End of file.

主要功能 =========== 基本上跟商业软件Virtual Serial Ports Driver XP3类似。 1.在操作系统中,虚拟出若干串口。可以使用串口工具(比如操作系统自带的超级终端软件)对串口进行打开、发送、接收、关闭等操作。 2. 由于是虚拟串口,所以可以设置任意波特率、数据位、奇偶校验、停止位等端口操作。 3. 通过协议传送、接收数据。 使用说明 =========== 1. 安装toaster( win2k ddk sample)总线驱动程序:BusEnum.sys。安装步骤详见DDK的toaster\bus例子 2. 控制台上运行enum -p 1,对新的硬件设备指定 SimSerial\inf目录,安装我们的虚拟串口驱动程序。 安装完毕以后在“设备管理器”中应该多出一类设备“VirtualSerial”。enum程序由DDK的toaster\exe\enum例子编译。只是改动了toaster\inc\public.h中的#define BUS_HARDWARE_IDS L"Toaster\\MsToaster\0" 3. 控制台上运行enum -p 2,添加第二个虚拟串口设备 4. 控制台上运行test.exe,枚举并且互连刚刚生成的两个串口。 5. 打开“超级终端”,在“连接到”对话框上“连接时使用”中选择“COM20” 6. 打开“超级终端”,在“连接到”对话框上“连接时使用”中选择“COM21” 7. 卸载设备可以在控制台上运行 enum -u 1, enum -u 2 8. 更新驱动程序时,只需要将所有的虚拟串口卸载,然后再编译驱动程序,build -ceZ,运行cc.bat即可。

7,785

社区成员

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

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