特黄特色的大片观看免费视频丨欧美一进一出抽搐大尺度视频丨亚洲精品成a人在线观看丨人妻体验按摩到忍不住哀求继续丨偷拍农村老熟妇xxxxx7视频

產品列表PRODUCTS LIST

聯系信息

  • 電話:
    13521418576
  • 傳真:
    010-62979724
首頁 > 技術與支持 > Visual Basic串口通訊調試方法
Visual Basic串口通訊調試方法
點擊次數:5251 更新時間:2009-12-25

Visual Basic串口通訊調試方法

  現有電子秤一臺,使用串口與計算機進行通訊。編寫VB程序來訪問串口,達到讀取電子秤上顯示的數據。該電子秤為BE01型儀表,輸出為RS-232C標準接口,波特率為300-9600、偶校驗、7個數據位、2個停止位。所有字符均發送11位ASCII碼,一個起始位。在VB中與串口通訊需要引入控件MSComm串口通訊控件(在Microsoft Comm Control 6.0中)。具體程序如下:控件簡稱:MSC

Dim Out(12) As Byte '接收var中的值
Dim var As Variant '接收MSC.input中的數值
Dim nRece As Integer '計算MSC.inputbuffer的個數
Dim i As Integer, j As Integer '隨即變量,計算循環

****************************************************************************

Private Sub Form_Load()
 ClearText
 With MSC
  .CommPort = 1 '設置Com1為通信端口
  .Settings = "9600,E,7,2" '設置通信端口參數 9600赫茲、偶校驗、7個數據位、1個停止位.(這里需要進一步說明的是:.Setting=”BBBB,P,D,S”。
  含義是:B:Baud Rate(波特率);P:Parity(奇偶);D:Data Bit;S:Stop Bit)

  .InBufferSize = 40 '設置緩沖區接收數據為40字節
  .InputLen = 1 '設置Input一次從接收緩沖讀取字節數為1
  .RThreshold = 1 '設置接收一個字節就產生OnComm事件

 End With

End Sub

****************************************************************************

Private Sub ClearText()
 Text3.Text = ""
 Text2.Text = "5"
 Text1.Text = ""
End Sub

Private Sub Command1_Click()
 ClearText
 ' nRece = 0 '計數器清零
 With MSC
  .InputMode = comInputModeBinary '設置數據接收模式為二進制形式
  .InBufferCount = 0 '清除接收緩沖區
  If Not .PortOpen Then
   .PortOpen = True '打開通信端口
  End If
 End With
End Sub

Private Sub MSC_OnComm()
 DelayTime ‘用來延續時間
 ClearText
 With MSC
  Select Case .CommEvent '判斷通信事件
  Case comEvReceive: '收到Rthreshold個字節產生的接收事件
   SwichVar 1
   If Out(1) = 2 Then '判斷是否為數據的開始標志
    .RThreshold = 0 '關閉OnComm事件接收
   End If
   Do
    DoEvents
   Loop Until .InBufferCount >= 3 '循環等待接收緩沖區>=3個字節
   ' nRece = nRece + 1
   For i = 2 To 12
    SwichVar i
    Text1.Text = Text1.Text & Chr(Out(i))
   Next
   Text1.Text = LTrim(Text1.Text)
   Text2.Text = Text2.Text & CStr(nRece)
   .RThreshold = 1 '打開MSComm事件接收
  Case Else
   ' .PortOpen = False
  End Select
 End With

End Sub

****************************************************************************

Private Sub DelayTime()

 Dim bDT As Boolean
 Dim sPrevious As Single, sLast As Single

 bDT = True

 sPrevious = Timer (Timer可以計算從子夜到現在所經過的秒數,在Microsoft Windows中,Timer函數可以返回一秒的小數部分)

 Do While bDT
  If Timer - sPrevious >= 0.3 Then bDT = False
 Loop
 bDT = True

End Sub

(通信傳輸速率為9600bps,則zui快速度1.04ms發送一個字節,儀表每秒發送50幀數據,每幀數據有4個字節,即每秒發送200個字節,平均5.0ms 發送一個字節,連續讀取串口數據時要在程序中添加循環等待程序)

Private Sub SwichVar(ByVal nNum As Integer)

 DelayTime
 var = Null
 var = MSC.Input
 Out(nNum) = var(0)

End Sub

(設置接收數據模式采用二進制形式,即 InputMode=comInputModeBinary,但用Input屬性讀取數據時,不能直接賦值給 Byte 類型變量,只能通過先賦值給一個 Variant 類型變量,返回一個二進制數據的數組,再轉換保存到Byte類型數變量中。)

Private Sub Text1_Change()

 Text3.Text = CText(Text1.Text) - CText(Text2.Text)

End Sub

****************************************************************************

Private Function CText(ByVal str As String) As Currency

 If str <> "" Then
  CText = CCur(Val(str))
 Else
  CText = 0
 End If

End Function
 

主站蜘蛛池模板: 少妇无码av无码专区线| 日韩少妇内射免费播放18禁裸乳| 久久人妻内射无码一区三区| 国产在线观看无码的免费网站| 大伊香蕉在线精品视频75| 天堂中文在线最新版地址| 成熟人妻av无码专区| 综合三区后入内射国产馆| 中文字幕漂亮人妻熟睡中被公侵犯| 国产亚洲曝欧美不卡精品| 51精品国产人成在线观看| 久久青青草原国产免费播放| 亚洲综合无码一区二区痴汉| 亚洲精品久久久久中文字幕二区 | 亚洲自偷自拍另类小说| 在线精品国产成人综合| 双腿张开被9个男人调教| 亚洲日本在线在线看片| 亚洲国产精品无码中文字2022| 天堂网在线.www天堂在线资源| 丰满少妇高潮惨叫久久久一| 国产饥渴孕妇在线播放| 狠狠色狠狠色狠狠五月| 色综合久久久无码中文字幕波多 | 久久成人影院精品777| 冲田杏梨av一区二区三区| 正在播放熟妇群老熟妇456| 久久人妻av中文字幕| 97国产精东麻豆人妻电影 | 人妻熟女久久久久久久| 国产涩涩视频在线观看| 又色又污又爽又黄的网站| 97精品免费公开在线视频| 777亚洲精品乱码久久久久久| 无码免费无线观看在线视频| 国产卡二卡三卡四卡免费网址| 国产乱子伦60女人的皮视频| 人妻无码久久久久久久久久久| 成人区精品一区二区不卡| 国产精品18久久久久久欧美| 丰满少妇被猛烈进入无码 |