亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mdlubr.bas

?? Test program for Hitachi Finger Vein
?? BAS
?? 第 1 頁 / 共 3 頁
字號:
Attribute VB_Name = "mdlUBR"
Option Explicit

Public IsTimeOut As Boolean

Public bout() As Byte
Public bIn() As Byte

Public Reply(0 To 2048) As Byte
Private CheckSum As Variant

Private bData(0) As Byte
Private bTmp() As Byte
Private strData$
Private cntrLoop As Integer
Private cntrData As Integer
Private cntrSeqNo As Integer

Private dummy As Variant
Private bolContinue As Boolean

Private Sub ClearReceiveBuffer()
    Dim i As Integer
    
    For i = 0 To 2048
        Reply(i) = 0
    Next
End Sub
Public Function SendCommand(ByRef objCom As MSComm, ByRef objTimer As Timer, ByRef byteCmd() As Byte, ByVal intLen As Integer, ByVal intPartition As Integer, ByVal intSeqNo As Integer) As Long
    Dim i As Integer
    Dim intCheck As Long
    Dim intPartLen As Long
    Dim intDataLen As Long
    Dim intRetry As Integer
    Dim intRet As Integer
    Dim tmpLen(0 To 3) As Integer
    Dim tmpBuf(2068) As Byte
    Dim tmpOut(0) As Byte
    Dim strDataLen As String
    
    SendCommand = 0
    
    'Clearing Reply
    Call ClearReceiveBuffer
    
    If ((intLen Mod 8) = 0) Then
        intPartLen = 0
    Else
        intPartLen = 8 - (intLen Mod 8)
    End If
    
    intDataLen = intLen + intPartLen
    
    Call ClearCommBuffer(objCom)
    
    intRetry = 0
    intRet = 2
    
    Do
        intRetry = intRetry + 1
        Call Send_ENQ(objCom)
        intRet = Wait4Reply(objCom, objTimer, UBR_ACK, 1000)
    Loop While ((intRet = 2) And (intRetry <= 3))
    
    If intRet <> 1 Then
        If intRet = 0 Then
            Call Send_EOT(objCom)
        End If
        SendCommand = 0
        GoTo Exit_Function
    
    Else
    
        strDataLen = Right$("00000000" & Hex(intDataLen), 8)
        
        tmpLen(0) = "&H" & Mid$(strDataLen, 7, 2)
        tmpLen(1) = "&H" & Mid$(strDataLen, 5, 2)
        tmpLen(2) = "&H" & Mid$(strDataLen, 3, 2)
        tmpLen(3) = "&H" & Mid$(strDataLen, 1, 2)
        
        strDataLen = Right$("0000" & Hex(intSeqNo), 4)
        
        tmpBuf(0) = UBR_STX
        tmpBuf(1) = &H63
        tmpBuf(2) = CByte(intPartition)
        tmpBuf(3) = "&H" & Mid$(strDataLen, 3, 2)
        tmpBuf(4) = "&H" & Mid$(strDataLen, 1, 2)
        
        tmpBuf(5) = tmpLen(0)
        tmpBuf(6) = tmpLen(1)
        tmpBuf(7) = tmpLen(2)
        tmpBuf(8) = tmpLen(3)
        
        For i = 0 To intLen - 1
            tmpBuf(i + 9) = byteCmd(i)
        Next
        
        tmpBuf(9 + intDataLen) = UBR_ETX
        
        intCheck = 0
        For i = 1 To intDataLen + 9
            intCheck = intCheck + tmpBuf(i)
        Next
        
        tmpBuf(10 + intDataLen) = CByte(intCheck And &H7F)
        
        Call ClearCommBuffer(objCom)
        
        If OnDebugMode Then
            Debug.Print "intCheck=" & intCheck & "/" & Hex(intCheck)
            Debug.Print "Sending command ..."
        End If
        
        For i = 0 To intDataLen + 10
            tmpOut(0) = tmpBuf(i)
            objCom.Output = tmpOut
            'Debug.Print Right$("00" & Hex(tmpBuf(i)), 2)
        Next
        
        intRetry = 0
        intRet = 2
        
        Do
            intRetry = intRetry + 1
            intRet = Wait4Reply(objCom, objTimer, UBR_ACK, 500)
            If intRet = 2 Then
                Call ClearCommBuffer(objCom)
                For i = 0 To intDataLen + 10
                    tmpOut(0) = tmpBuf(i)
                    objCom.Output = tmpOut
                Next
            End If
        Loop While ((intRet = 2) And (intRetry <= 3))
        
        Call Send_EOT(objCom)
        
        If intRet <> 1 Or intRetry >= 3 Then
            SendCommand = 0
            GoTo Exit_Function
        Else
            If intPartition = 0 Then
                intRet = Wait4Reply(objCom, objTimer, UBR_ENQ, 3000)
                
                If OnDebugMode Then
                    Debug.Print "intRet=" & intRet
                End If
                
                If intRet = 0 Then
                    SendCommand = 0
                Else
                    Call Send_ACK(objCom)
                    
                    'Debug.Print "Receiving ..."
                    
                    bolContinue = True
                    intRetry = 0
                    intDataLen = 0
                    intPartLen = 0
                    
                    Do
                        IsTimeOut = False
                        objTimer.Interval = 3500
                        objTimer.Enabled = False
                        objTimer.Enabled = True
                        
                        Do
                            DoEvents
                            bTmp = objCom.Input
                            For i = LBound(bTmp) To UBound(bTmp)
                                If OnDebugMode Then
                                    Debug.Print Format(intDataLen, "000") & ":" & Right$("00" & Hex(bTmp(i)), 2)
                                End If
                                    
                                If ((intDataLen = 0) And (bTmp(i) = UBR_STX)) Then
                                    intDataLen = 0
                                    Call ClearReceiveBuffer
                                ElseIf (bTmp(i) = UBR_ETX) Then
                                    If intDataLen > 8 Then
                                        intPartLen = Reply(4) + (Reply(5) * 255) + (Reply(6) * 255 * 255) + (Reply(7) * 255 * 255 * 255)
                                        If (intPartLen + 8) <= intDataLen Then
                                            bolContinue = False
                                        Else
                                            Reply(intDataLen) = bTmp(i)
                                            intDataLen = intDataLen + 1
                                        End If
                                    Else
                                        Reply(intDataLen) = bTmp(i)
                                        intDataLen = intDataLen + 1
                                    End If
                                Else
                                    If OnDebugMode Then
                                        Debug.Print Format(intDataLen, "000") & ":" & Right$("00" & Hex(bTmp(i)), 2)
                                    End If
                                    
                                    Reply(intDataLen) = bTmp(i)
                                    intDataLen = intDataLen + 1
                                End If
                            Next
                            If IsTimeOut Or Not bolContinue Then Exit Do
                        Loop
                        
                        objTimer.Enabled = False
                        
                        intRetry = intRetry + 1
                        
                    Loop While (bolContinue And (intRetry < 3))
                    
                    'If Not bolContinue Then
                    '    Debug.Print "Got it"
                    'End If
                    
                    SendCommand = intDataLen
                    
                    Call Send_ACK(objCom)
                    
                    intRet = Wait4Reply(objCom, objTimer, UBR_EOT, 500)
                    If intRet = 0 Then
                        SendCommand = 0
                        GoTo Exit_Function
                    End If
                
                End If
                
            Else
                SendCommand = intLen
            End If
        End If
    End If
    
Exit_Function:
    Exit Function
    
End Function

Public Function Wait4Reply(ByRef objCom As MSComm, ByRef objTimer As Timer, ByVal bchar As Byte, ByVal nTimeOut As Long) As Integer
    Dim nRet As Boolean
    
    If objCom.PortOpen Then
        Wait4Reply = 2
        
        nRet = False
        IsTimeOut = False
        objTimer.Interval = nTimeOut
        objTimer.Enabled = False
        objTimer.Enabled = True
        cntrData = 0
        strData$ = ""
        
        Do
            DoEvents
            bTmp = objCom.Input
            For cntrLoop = LBound(bTmp) To UBound(bTmp)
                If bTmp(cntrLoop) = bchar Then
                    Wait4Reply = 1
                    nRet = True
                End If
                Reply(cntrData) = bTmp(cntrLoop)
                'Debug.Print Right$("00" & Hex(Reply(cntrData)), 2)
                'strData$ = strData$ & Right$("00" & Hex(Reply(cntrData)), 2)
                cntrData = cntrData + 1
            Next
            If IsTimeOut Or Wait4Reply = 1 Then Exit Do
        Loop
        
        If IsTimeOut And Not nRet Then
            Wait4Reply = 0
        End If
    Else
        Wait4Reply = 0
    End If
    
    objTimer.Enabled = False
End Function

Public Sub ClearCommBuffer(ByRef objCom As MSComm)
    objCom.OutBufferCount = 0
    objCom.InBufferCount = 0
    objCom.InputLen = 1
End Sub

Public Function Hex2Bin(ByVal bchar As Byte) As String
    Dim i As Integer
    Dim sTmp As String
    Dim sBin As String
    Dim sResult As String
    
    sTmp = Right$("00" & Hex(bchar), 2)
    
    sResult = ""
    
    For i = 1 To 2
        Select Case Mid$(sTmp, i, 1)
            Case "F": sBin = "1111"
            Case "E": sBin = "1110"
            Case "D": sBin = "1101"
            Case "C": sBin = "1100"
            Case "B": sBin = "1011"
            Case "A": sBin = "1010"
            Case "9": sBin = "1001"
            Case "8": sBin = "1000"
            Case "7": sBin = "0111"
            Case "6": sBin = "0110"
            Case "5": sBin = "0101"
            Case "4": sBin = "0100"
            Case "3": sBin = "0011"
            Case "2": sBin = "0010"
            Case "1": sBin = "0001"
            Case Else: sBin = "0000"
        End Select
        
        sResult = sResult & sBin
    Next
            
    Hex2Bin = sResult
End Function

Public Function Bin2Hex(ByVal sBin As String) As Byte
    Dim i As Integer
    Dim sTmp As String
    Dim sHex As String
    Dim sResult As String
    Dim bTmp As Byte
    
    sTmp = Right$(String$(8, "0") & sBin, 8)
    
    sResult = ""
    
    For i = 1 To 8 Step 4
        Select Case Mid$(sTmp, i, 4)
            Case "1111": sHex = "F"
            Case "1110": sHex = "E"
            Case "1101": sHex = "D"
            Case "1100": sHex = "C"
            Case "1011": sHex = "B"
            Case "1010": sHex = "A"
            Case "1001": sHex = "9"
            Case "1000": sHex = "8"
            Case "0111": sHex = "7"
            Case "0110": sHex = "6"
            Case "0101": sHex = "5"
            Case "0100": sHex = "4"
            Case "0011": sHex = "3"
            Case "0010": sHex = "2"
            Case "0001": sHex = "1"
            Case Else: sHex = "0"
        End Select
        
        sResult = sResult & sHex
    Next
    
    bTmp = "&H" & sResult
    Bin2Hex = bTmp
End Function

Public Function bitRShift(ByVal bchar As Byte, ByVal intShift As Integer) As Byte
    Dim i As Integer
    Dim sTmp As String
    
    sTmp = Right$(String(intShift, "0") & Hex2Bin(bchar), 8)
    sTmp = Right$(String$(8, "0") & Trim$(sTmp), 8)
    
    bitRShift = Bin2Hex(sTmp)
End Function

Public Function bitLShift(ByVal bchar As Byte, ByVal intShift As Integer) As Byte
    Dim i As Integer
    Dim sTmp As String
    
    sTmp = Right$(Hex2Bin(bchar) & String(intShift, "0"), 8)
    sTmp = Right$(String$(8, "0") & Trim$(sTmp), 8)
    
    bitLShift = Bin2Hex(sTmp)
End Function

Public Function SendByte(ByRef objCom As MSComm, ByVal bchar As Byte) As Boolean
    SendByte = False
    
    If objCom.PortOpen Then
        SendByte = True
        
        objCom.OutBufferCount = 0
        objCom.InBufferCount = 0
        objCom.InputLen = 1
        
        bData(0) = bchar
        objCom.Output = bData
    End If
End Function

Public Sub Send_ENQ(ByRef objCom As MSComm)
    Call SendByte(objCom, UBR_ENQ)
End Sub

Public Sub Send_EOT(ByRef objCom As MSComm)
    Call SendByte(objCom, UBR_EOT)
End Sub

Public Sub Send_ACK(ByRef objCom As MSComm)
    Call SendByte(objCom, UBR_ACK)
End Sub

Public Sub Send_NAK(ByRef objCom As MSComm)
    Call SendByte(objCom, UBR_NAK)
End Sub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美精品区一区二区三区 | 精品国产乱码久久久久久浪潮 | 成人黄色小视频| 国产成人精品影视| 成人免费三级在线| 99精品欧美一区| 一本到三区不卡视频| 色综合久久99| 91麻豆精品国产无毒不卡在线观看 | 亚洲欧美在线视频观看| 最近日韩中文字幕| 一区二区三区在线免费观看| 伊人色综合久久天天| 亚洲一区自拍偷拍| 调教+趴+乳夹+国产+精品| 婷婷国产在线综合| 国产精品亚洲成人| 91免费版在线| 91精品国产综合久久小美女| 日韩女优视频免费观看| 国产亚洲精品久| 亚洲在线观看免费视频| 青青草国产成人99久久| 成人免费三级在线| 欧美日本国产视频| 久久亚洲欧美国产精品乐播| 亚洲欧美在线视频| 美女尤物国产一区| 99久久精品国产毛片| 欧美另类z0zxhd电影| 久久久国产精品午夜一区ai换脸| 国产精品黄色在线观看| 天天爽夜夜爽夜夜爽精品视频| 久久99精品国产| 欧美亚洲愉拍一区二区| 久久久高清一区二区三区| 亚洲蜜臀av乱码久久精品| 精品中文字幕一区二区| 色欧美日韩亚洲| 精品成人一区二区| 亚洲国产日产av| 成人一区在线观看| 欧美一级黄色片| 亚洲主播在线观看| 成人教育av在线| 精品捆绑美女sm三区| 亚洲大片一区二区三区| heyzo一本久久综合| 欧美一区二区久久| 一个色妞综合视频在线观看| 成人一区二区三区| 欧美一区二区三区在线视频| 一区二区三区蜜桃| 不卡一区二区三区四区| 久久亚洲精精品中文字幕早川悠里| 一区二区在线看| 99这里只有精品| 国产欧美一区二区精品久导航 | 日韩视频在线观看一区二区| 亚洲丝袜另类动漫二区| 国产精品18久久久久久久久| 欧美一区二区三区精品| 亚洲国产中文字幕在线视频综合| av在线不卡免费看| 国产精品美女久久久久高潮| 国产iv一区二区三区| 亚洲精品一区在线观看| 久久精品久久精品| 欧美精品一区二区三区四区| 久久国产成人午夜av影院| 91精品国产高清一区二区三区蜜臀 | 韩国精品在线观看| 欧美刺激午夜性久久久久久久| 亚洲人123区| 99久久精品国产一区| 亚洲欧美电影一区二区| 色哟哟一区二区在线观看| 最新欧美精品一区二区三区| 成+人+亚洲+综合天堂| 亚洲欧洲日产国码二区| 色综合色综合色综合色综合色综合| 欧美国产精品一区二区三区| 粉嫩久久99精品久久久久久夜| 国产肉丝袜一区二区| 国产成人啪午夜精品网站男同| 2023国产精品| 成人激情小说乱人伦| 亚洲欧美一区二区三区极速播放 | 欧美影院一区二区| 一区二区三区.www| 欧美肥妇free| 久久99精品久久久久久动态图| 欧美草草影院在线视频| 成人免费va视频| 樱花影视一区二区| 欧美大黄免费观看| kk眼镜猥琐国模调教系列一区二区| 依依成人精品视频| 欧美成人福利视频| 大陆成人av片| 亚洲成人中文在线| 久久精品一二三| 欧美伊人精品成人久久综合97 | 亚洲欧美日韩国产综合| 欧美日韩一区二区三区免费看| 免费av成人在线| 国产精品美日韩| 欧美日韩国产三级| 国产美女一区二区| 亚洲香蕉伊在人在线观| 精品国产露脸精彩对白| 亚洲人成网站在线| 欧美午夜精品理论片a级按摩| 性欧美疯狂xxxxbbbb| 久久久久久电影| 欧美精品黑人性xxxx| 国产成人精品一区二| 日韩国产精品91| 一区在线播放视频| 日韩亚洲欧美成人一区| 91小宝寻花一区二区三区| 久久精品国产第一区二区三区| 日韩美女精品在线| 欧美精品一区男女天堂| 欧美三区在线观看| aaa欧美日韩| 国产成人午夜电影网| 美日韩一级片在线观看| 亚洲国产一区在线观看| 中文字幕欧美一| 亚洲国产精品ⅴa在线观看| 日韩一级黄色大片| 亚洲国产精品久久久久婷婷884 | 国产suv精品一区二区三区 | 亚洲精品一区二区三区蜜桃下载| 色欧美乱欧美15图片| 成人免费av网站| 国产一区二区电影| 精品在线亚洲视频| 久久精品国产在热久久| 美腿丝袜在线亚洲一区| 午夜成人在线视频| 图片区小说区区亚洲影院| 亚洲欧美另类久久久精品2019| 国产精品视频免费看| 国产欧美一区二区三区在线老狼 | 国产精品免费看片| 国产人久久人人人人爽| 国产喂奶挤奶一区二区三区| 精品国产三级电影在线观看| 日韩精品中午字幕| 欧美mv和日韩mv国产网站| 日韩限制级电影在线观看| 91精品国产综合久久久蜜臀粉嫩| 欧美亚洲丝袜传媒另类| 欧美亚洲国产一区二区三区va| 色狠狠av一区二区三区| 在线免费精品视频| 欧美色手机在线观看| 欧美日韩电影一区| 欧美一区二区国产| 欧美一二区视频| 欧美tk丨vk视频| 国产区在线观看成人精品| 国产精品拍天天在线| 国产精品动漫网站| 亚洲精品日韩专区silk| 亚洲一卡二卡三卡四卡无卡久久 | 精品一区二区三区在线观看| 久久国产精品区| 波多野洁衣一区| 在线影院国内精品| 日韩欧美综合在线| 国产精品污污网站在线观看 | 欧美日韩在线播| 日韩免费一区二区| 中文字幕免费不卡| 亚洲第一久久影院| 国产一区亚洲一区| 色综合色狠狠综合色| 日韩亚洲欧美一区二区三区| 国产片一区二区| 婷婷夜色潮精品综合在线| 国产精品自在在线| 色偷偷成人一区二区三区91| 91.com在线观看| 国产精品天天看| 日本欧美一区二区三区乱码| 国产福利一区二区三区视频| 日本高清不卡aⅴ免费网站| 91精品国产综合久久福利软件| 精品日韩在线观看| 一区二区三区久久| 国产成人在线视频网址| 欧美精品久久99久久在免费线 | 97成人超碰视| 久久久久久久综合日本| 亚洲国产日产av| 99国产麻豆精品| 亚洲精品在线一区二区|