微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求大神帮解决,这个VB写的上位机程序,看不懂求解释

求大神帮解决,这个VB写的上位机程序,看不懂求解释

时间:10-02 整理:3721RD 点击:

  1. Dim rxn As Boolean

  2. Private Sub Command1_Click()

  3. On Error Resume Next

  4.     Dim s As Integer

  5.     s = Val(Text1)
  6.     If s > 255 Then s = 255
  7.     If s < 1 Then s = 1

  8.     MSC1.CommPort = s
  9.     MSC1.PortOpen = True

  10.     If MSC1.PortOpen = True Then
  11.         Command1.Enabled = False
  12.         Command2.Enabled = True
  13.     Else
  14.         Command1.Enabled = True
  15.         Command2.Enabled = False
  16.     End If

  17. End Sub

  18. Private Sub Command2_Click()

  19. On Error Resume Next

  20.     MSC1.PortOpen = False

  21.     If MSC1.PortOpen = True Then
  22.         Command1.Enabled = False
  23.         Command2.Enabled = True
  24.     Else
  25.         Command1.Enabled = True
  26.         Command2.Enabled = False
  27.     End If

  28. End Sub







  29. Private Sub Command3_Click(Index As Integer)

  30.     Dim tbuf(0) As Byte

  31.     tbuf(0) = 1 * 16 + Index

  32.     MSC1.Output = tbuf()

  33. End Sub

  34. Private Sub Command4_Click(Index As Integer)

  35.     Dim tbuf(0) As Byte

  36.     tbuf(0) = 0 * 16 + Index

  37.     MSC1.Output = tbuf()

  38. End Sub

  39. Private Sub MSC1_OnComm()

  40.     On Error Resume Next

  41.     Dim ss() As Byte
  42.     Dim i As Integer
  43.     Dim j As Integer
  44.     Dim k As Integer

  45.     Dim ssr As String


  46.     If MSC1.CommEvent = comEvReceive Then

  47.         ss = MSC1.Input
  48.         For i = 0 To UBound(ss)
  49.             If ss(i) = &H55 Then
  50.                 rxn = True
  51.             Else
  52.                 If rxn = True Then
  53.                     j = (ss(i) Mod 16)
  54.                     k = (ss(i) \ 16)
  55.                     If k < 8 Then
  56.                         ss = ""
  57.                         If j = 0 Then
  58.                             ssr = "储藏箱" & k & "关闭,空闲"
  59.                         ElseIf j = 1 Then
  60.                             ssr = "储藏箱" & k & "打开,存放"
  61.                         ElseIf j = 2 Then
  62.                             ssr = "储藏箱" & k & "关闭,使用中"
  63.                         ElseIf j = 3 Then
  64.                             ssr = "储藏箱" & k & "打开,取走"
  65.                         End If
  66.                         List1.AddItem ssr
  67.                     Else
  68.                         k = k - 8
  69.                         If k < 4 Then
  70.                             ss = ""
  71.                             If j = 0 Then
  72.                                 ssr = "储藏箱" & k & "关闭,空闲"
  73.                             ElseIf j = 1 Then
  74.                                 ssr = "储藏箱" & k & "打开,存放"
  75.                             ElseIf j = 2 Then
  76.                                 ssr = "储藏箱" & k & "关闭,使用中"
  77.                             ElseIf j = 3 Then
  78.                                 ssr = "储藏箱" & k & "打开,取走"
  79.                             End If
  80.                             Label1(k).Caption = ssr
  81.                         End If
  82.                     End If

  83.                 End If
  84.                 rxn = False
  85.             End If
  86.         Next i
  87.     End If

  88. End Sub

复制代码


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top