<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇開發語言培訓專區VB語言 → 開發語言中的VB串口通訊實例


      共有8001人關注過本帖樹形打印

    主題:開發語言中的VB串口通訊實例

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    開發語言中的VB串口通訊實例  發帖心情 Post By:2010-12-14 14:36:19

    高精度電壓表(24bit) VB源程序
    Dim PortValue As Integer `端口號選擇1-4
    Dim value As Double `當前一次取值
    Dim value2 As Double `要顯示的值
    Dim valueSum As Double `和
    Dim numCount As Double `算平均值是的計數個數
    Dim func As Integer `功能號標志1-4
    Dim valueFlag As Integer
    Private Sub Check1_Click()
    `自動刷新 被選中則 刷新按鈕無效
    If Check1.value Then
    Command1.Enabled = False
    Else
    Command1.Enabled = True

    Command1.SetFocus
    End If
    End Sub
    Private Sub Command1_Click()
    `顯示
    Call display
    End Sub
    Private Sub Command2_Click()
    valueSum = 0 `清計數和
    numCount = 1 `清計數個數
    Label6.Caption = Str(numCount - 1) `顯示復位
    value = 0
    value2 = 0
    valueFlag = 0
    Call display
    End Sub
    Private Sub Form_Activate()
    numCount = 1
    value = 0
    valueSum = 0
    PortValue = 1
    Text1.Visible = False
    Label6.Caption = 0
    Option1(0).value = True
    Option2(0).value = True
    Command1.SetFocus
    Label1.Caption = Format(value2 0.000000)
    For i = 0 To 3
    If Option2(i).value = True Then
    func = i + 1
    End If
    Next i
    Check1.value = 1
    `Call ComPortOpen
    End Sub
    Public Sub ComPortOpen() `開串口
    With MSComm1
    .CommPort = PortValue `使用COM1
    .Settings = 9600N81 `設置通信口參數
    .InBufferSize = 40
    `設置MSComm1接收緩沖區為40字節
    `.OutBufferSize = 2
    `設置MSComm1發送緩沖區為2字節
    .InputMode = comInputModeBinary
    `設置接收數據模式為二進制形式
    .InputLen = 1
    `設置Input 一次從接收緩沖讀取字節數為1
    `.SThreshold = 1
    `設置Output 一次從發送緩沖讀取字節數為1
    .InBufferCount = 0 `清除接收緩沖區
    `.OutBufferCount = 0 `清除發送緩沖區
    `MaxW = -99
    `最大值賦初值
    `MinW = 99 `最小值賦初值
    `w = 0
    `數據個數計數器清零
    .RThreshold = 1
    On Error Resume Next
    `設置接收一個字節產生OnComm事件
    If .PortOpen = False Then
    `判斷通信口是否打開
    .PortOpen = True `打開通信口
    If Err Then `錯誤處理
    msg = MsgBox( 串口 COM PortValue 無效! vbOKOnly 警告)
    Exit Sub
    End If
    End If
    End With
    `MsgBox 端口已打開
    End Sub
    Public Sub ComPortClose() `關串口
    MSComm1.PortOpen = False
    ` MsgBox 端口已關閉
    End Sub
    Private Sub MSComm1_OnComm()
    Call recive
    End Sub
    Private Sub Option1_Click(Index As Integer)
    If MSComm1.PortOpen = True Then
    Call ComPortClose
    End If
    PortValue = Index + 1
    Call ComPortOpen
    End Sub
    Private Sub recive() `檢測起始位并接收數據
    Dim Buffer As Variant
    Dim Arr() As Byte
    Dim inData(5) As Byte
    Dim count As Integer
    Dim temp As Byte


    ` MsgBox OnComm
    With MSComm1

    Select Case .CommEvent
    `判斷MSComm1通信事件
    Case comEvReceive
    `收到Rthreshold個字節產生的接收事件
    Buffer = .Input
    Arr = Buffer

    `讀取一個接收字節
    ` Text1.Text = Arr(0)
    If Arr(0) = H1B Then
    .RThreshold = 0
    Do
    DoEvents
    Loop Until .InBufferCount >= 4

    For i = 1 To 4
    `count = .InBufferCount
    Buffer = .Input
    Arr = Buffer
    inData(i) = Arr(0)
    Next i
    If inData(4) = HA Then
    If (inData(1) Mod 64) >= 32 Then
    .RThreshold = 1
    Exit Sub
    End If
    valueFlag = 1
    `0.000003814697265625
    temp = inData(1) Mod 16
    If temp <= 7 Then
    value = inData(1) Mod 8
    value = value * 256 * 256
    value = value + Val(inData(2)) * 256
    value = value + Val(inData(3))
    value = value * 3.814697265625E-06
    `Text1.Text = Format(value 0.000000)
    Else
    value = inData(1) Mod 8
    value = value * 256 * 256
    value = value + Val(inData(2)) * 256
    value = value + Val(inData(3))
    value = value * 3.814697265625E-06
    value = 0 - value
    End If
    temp = inData(1) Mod 128
    ` test OF
    If temp >= 64 Then
    If value < 0 Then
    value = value - 0.000004
    Else
    value = value + 0.000004
    End If
    End If
    `檢測自動刷新
    If Check1.value Then
    `valueFlag = 1
    Call display
    End If

    支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

    返回版面帖子列表

    開發語言中的VB串口通訊實例








    簽名
    主站蜘蛛池模板: 九九九国产视频| 国产伦精品一区二区三区| 中文字幕亚洲综合久久| 果冻传媒国产电影免费看| 免费网站看v片在线成人国产系列| 邻居少妇张开腿让我爽了在线观看 | 公求求你不要she在里面小说| 试看120秒做暖暖免费体验区| 国产精品美女乱子伦高| 丁香婷婷六月天| 无遮挡一级毛片视频| 亚洲免费成人网| 欧美日韩电影在线观看| 午夜91理论片| 老公和他朋友一块上我可以吗| 国产激情视频在线播放| 99久热只有精品视频免费观看17| 宅男lu66国产在线播放| 久久伊人男人的天堂网站 | 国产在线98福利播放视频免费| 97高清国语自产拍中国大陆 | 国产精品人人做人人爽人人添 | 和武警第一次做男男gay| 菠萝蜜视频在线看| 国产男女猛烈无遮挡免费视频| 99精品视频在线观看免费播放| 女人与狥交下配a级正在播放| 久久久精品中文字幕麻豆发布| 日韩精品亚洲人成在线观看| 亚洲欧美日韩精品久久亚洲区 | 一区二区三区四区无限乱码| 成人自拍视频在线观看| 久久香蕉国产线看精品| 最新亚洲精品国自产在线观看| 亚洲理论片在线中文字幕| 火影忍者narutofootjob| 又爽又黄又无遮挡的视频| 老司机福利精品视频| 国产强被迫伦姧在线观看无码| 2021乱理片宅它网| 国产精品无码素人福利|