久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久


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


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

主題:開發語言中的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串口通訊實例








簽名
主站蜘蛛池模板: 孕妇一级片| 日韩欧美自拍 | 午夜免费理论片a级 | 日本乱理伦中文三区 | 老司机免费福利午夜入口ae58 | 国产自在自线午夜精品视频 | 午夜影院免费入口 | 成年免费大片黄在线观看一 | 伊人久久免费 | 9丨精品国产高清自在线看 ⅹxx中国xxx人妖 | 精品国产杨幂在线观看福利 | 美女毛片儿 | 理论在线看 | 日本三片在在线播放 | 精品a视频| 一级黄色毛片播放 | 精品国产免费人成在线观看 | 免费精品久久久久久中文字幕 | 成人免费视频播放 | 成人精品免费网站 | 亚洲性综合| 久久不卡日韩美女 | 日本成人三级 | 久久999精品 | 日本三级香港三级人妇gg在线 | 日本三级午夜 | 日本在线观看www免费 | 日韩欧美不卡一区二区三区 | 亚洲日韩视频 | 国产一区二区播放 | 亚洲精品国自产拍在线观看 | 美女一级毛片毛片在线播放 | 女人张开腿让男人桶视频免费大全 | 亚洲性综合 | 欧美激情久久久久久久大片 | 私人午夜影院 | 亚洲综合一区二区不卡 | 欧美一级日韩一级 | 色一欲一性一乱一区二区三区 | 性欧美一级毛片 | 欧美激情精品久久久久久久九九九 |