首頁>Club>
19
回覆列表
  • 1 # 盡是他鄉之客548

    書上估計是用的定時器接收,窗體上拖MSComm1,Timer1,Text1控制元件各一個,並在屬性設定好MSComm1的波特率,串列埠號,起始位,停止位等資訊Dim str_dispaly As String "定義回顯字元Private Sub Form_Load() Me.MSComm1.PortOpen = True Me.Timer1.Interval = 100 "定時器時間間隔 Me.Timer1.Enabled = TrueEnd SubPrivate Sub Timer1_Timer() If MSComm1.InBufferCount > 0 Then str_dispaly = str_dispaly & MSComm1.Input Me.Text1.Text = str_display End IfEnd Sub

  • 2 # 使用者9405259858110

    我現在知道的有兩種做法,給你參考一下

    1是一定時間掃描下串列埠看串列埠是否有回傳值即

    a=MSComm1.output

    delay

    b=MSComm1.Input

    2.是設定mscomm的ONCOM事件,一旦檢測有資料回傳就進行處理

    MSComm1.Settings = "9600,N,8,1" "設定通訊口引數

    MSComm1.InputMode = comInputModeText

    MSComm1.InBufferCount = 0 "清除接收緩衝區

    MSComm1.OutBufferCount = 0 "清除傳送緩衝區

    MSComm1.RThreshold = 1 "設定接收一個位元組產生OnComm事件

    Private Sub MSComm1_OnComm() "接收資料

    Dim strBuff As String

    Select Case MSComm1.CommEvent

    Case 2

    strBuff = strBuff & MSComm1.Input

    End Select

    End Sub

    祝你成功!

    這樣的話就不好監聽了,其他程式佔用後用VB開啟會出錯的。。。

  • 中秋節和大豐收的關聯?
  • 小孩出生半個月,睡覺全身老是老是抽搐?