中易网

vb串口问题

答案:2  悬赏:20  
解决时间 2021-01-16 08:46
  • 提问者网友:谁的错
  • 2021-01-15 12:55
我需要通过串口发送多条命令,比如第一条是:KEY;display第二条是;key;utility,第三条是:key:ref。我想当我发送完第一条命令后先判断输出缓存区是否为零,若为零再发送第二条命令,同理发第三条命令,各位高手帮个忙吧~
最佳答案
  • 二级知识专家网友:摆渡翁
  • 2019-12-05 04:20
执行发送后输出缓存区仍为零,所以你的判断是不必要的。
Private Sub Command2_Click()
MSComm1.Output = "KEY;display"
Print MSComm1.OutBufferCount
End Sub
你的情况可使用Timer来完成
Option Explicit
Dim sj(2) As String
Dim sum As Integer

Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 2000
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen = True
sj(0) = "KEY;display"
sj(1) = "key;utility"
sj(2) = "key:ref"
End Sub

Private Sub Timer1_Timer()
MSComm1.Output = sj(sum)
sum = sum + 1
If sum >= 3 Then
sum = sum - 3
Timer1.Enabled = False
End If
End Sub
全部回答
  • 1楼网友:痴妹与他
  • 2020-03-19 21:24
vb串口有两种格式 一种是字符串 一种是字节即所为十六进制 其实是一样的 字符串他也是拆成一个个字符即一个个byte型数据发送的 你接收的就是以byte为单位的数 至于具体 看你发送的数据了 usb是指usb转串口吗 如果是则没区别
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息