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

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
...全文
643 2 打赏 收藏 转发到动态 举报
写回复
用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.

7,763

社区成员

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

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