Yeh 發問時間: 電腦與網際網路程式設計 · 1 0 年前

VB6.0讀取RS232字串之後的動作

我需要讀取RS232裡面的資料,這些資料是8051送的..

我用VB去做接收去讀取..

我有拉了一個TEXT去看看狀況

可是字串裡面是"1111111111111111" or "00000000000000"

我用if..then去判斷好像弄不出之後我要的動作

當初的程式是

Private Sub Timer1_Timer()

Dim Buf() As Byte

Buf = MSComm1.Input

Text2.Text = Buf

End Sub

他的字串連在一起好像沒辦法動作

我要的動作是讀取到 ' 1 ' 的時候就錄影 "0"是沒動作的

後來弄成這樣..

Private Sub Timer1_Timer()

Buf = MSComm1.Input

If Buf = 1 Then

Call Get_AVIWindow ' 讀取到1的時候就錄影

End If

End Sub

可是字串上的1是一整排的1...

程式上我要怎麼弄呢?

已更新項目:

8051串列阜 設定是8位元吧!

2 個解答

評分
  • 1 0 年前
    最佳解答

    增加一個模組全區域變數

    Public CHECK As Integer

    If Buf = 1 AND CHECK =0 Then

    CHECK=1

    Call Get_AVIWindow ' 讀取到1的時候就錄影

    End If

    If Buf = 0 AND CHECK =1 Then

    CHECK=0

    ' 讀取到0的時候就取消錄影

    End If

    2010-08-11 09:40:27 補充:

    'MSCOMM1 設定

    InputLen 為1

    無需使用 time1 計時器

    2010-08-11 09:43:05 補充:

    If Buf = "1" AND CHECK =0 Then

    CHECK=1

    Call Get_AVIWindow ' 讀取到1的時候就錄影

    End If

    If Buf ="0" AND CHECK =1 Then

    CHECK=0

    ' 讀取到0的時候就取消錄影

    End If

  • 1 0 年前

    固定都是1 ?

    固定的1位數都一樣嗎?

    8 OR 16 位元 ?

還有問題?馬上發問,尋求解答。