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

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

?? zlgcomport.bas

?? 嵌入式系統中一些外圍設備驅動示例程序集
?? BAS
字號:
Attribute VB_Name = "ZlgComPort_Module"
'            /*
'             ************************************************************************
'             *
'             *  Copyright(c) 2002, 周立功單片機發展有限公司
'             *                   All rights reserved.
'             *
'             *     文   件: ZlgComPort_Module.bas
'             *
'             *     摘   要: 本程序主要是演示ZmpCom.dll API函數調用方法
'             *
'             *
'             *     創建日期:  2002年10月26日
'             *
'             *************************************************************************
'             */

                
                
                
'*************************************************************************
'*                      聲明引用 ZlgComPort API函數
'*************************************************************************
                
        '------------------------------------------------------------
        '說明:  設置通信波特率
        '參數:  Baud  波特率(bit)
        '返回:  True 設置波特率成功、False 設置波特率失敗
        '------------------------------------------------------------
Declare Function SetCommBaud Lib "ZlgComPort.dll" (ByVal Baud As Integer) As Boolean

        '------------------------------------------------------------
        '說明:  設置通信端口
        '參數:  Port  通信端口號(1-4)
        '返回:  True 設置通信端口成功、False 設置通信端口失敗
        '------------------------------------------------------------
Declare Function SetCommPort Lib "ZlgComPort.dll" (ByVal Port As Integer) As Boolean

        '------------------------------------------------------------
        '說明:  打開通信端口
        '參數:  無
        '返回:  0 打開通信端口成功、非0打開通信端口失敗
        '------------------------------------------------------------
Declare Function OpenPort Lib "ZlgComPort.dll" () As Integer

        '------------------------------------------------------------
        '說明:  關閉當前通信端口
        '參數:  無
        '返回:  0 關閉當前通信端口成功、非0關閉當前通信端口失敗
        '------------------------------------------------------------
Declare Function ClosePort Lib "ZlgComPort.dll" () As Integer

        '------------------------------------------------------------
        '說明:  發送數據命令
        '參數:  pOrderBuff  發送數據首地址、pAckBuff 接收數據首地址、
        '       nTimeOuts 發送命令超時
        '返回:  0 發送數據成功、非0發送數據失敗
        '------------------------------------------------------------
Declare Function SendOrder Lib "ZlgComPort.dll" (ByRef pOrderBuff As Byte, ByRef pAckBuff As Byte, ByVal nTimeOuts As Integer) As Integer




'*************************************************************************
'*                      聲明引用系統API函數
'*************************************************************************
        
        '------------------------------------------------------------
        '說明:  掛起當前線程
        '參數:  dwMilliseconds  掛起時間(毫秒)
        '返回:  無
        '------------------------------------------------------------
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)




'*************************************************************************
'*                     聲明全局變量
'*************************************************************************


Public st As Long                              '接收發送數據命返回值
Public PortOpen As Boolean                     '串口打開標致
Public stbl As Boolean                         '接收端口設置狀態





'*************************************************************************
'*                      程序函數定義
'*************************************************************************

        '------------------------------------------------------------
        '說明:  讀E2PRom數據
        '參數:  BgnAdr_L 開始讀數據低地址、BgnAdr_H 開始讀數據高地址、
        '        nLen   讀數據長度
        '返回:  有字符串返回表示讀數據成功,1為讀數據失敗
        '------------------------------------------------------------
Function ReadE2PRom(ByVal BgnAdr_L As Integer, ByVal BgnAdr_H As Integer, ByVal nLen As Integer)
    Dim nFrameLen As Integer                 '幀長度變量
    Dim nFrameNum As Integer                 '幀數
    Dim nFrameLeave As Integer               '最后一帳數據長度
    Dim cAFrameOrder(6) As Byte              '發送數據緩沖區
    Dim cAFrameAck(13) As Byte               '接收數據緩沖區
    Dim nBgnAdr_l As Integer                 '讀數據低地址
    Dim nBgnAdr_h As Integer                 '讀數據高地址
    Dim Str As String                        '返回字符串
    Dim i As Integer
    Dim j As Integer
       
    ReadE2PRom = ""
    nFrameLen = 8                            '每幀接收八個數據
    nBgnAdr_l = BgnAdr_L
    nBgnAdr_h = BgnAdr_H
    
    If nLen > 0 Then
        nFrameNum = Int(nLen / nFrameLen)
        nFrameLeave = nLen Mod nFrameLen
    End If
    
    
    For i = 1 To nFrameNum                   '發送nFrameNum幀數據
        cAFrameOrder(0) = &H12
        cAFrameOrder(1) = &H20
        cAFrameOrder(2) = &H4
        cAFrameOrder(3) = nBgnAdr_l           '取發送地址
        cAFrameOrder(4) = nBgnAdr_h
        cAFrameOrder(5) = 8
        
           cAFrameOrder(6) = 0               '計算校驗和
        For j = 0 To 5
          cAFrameOrder(6) = cAFrameOrder(6) Xor cAFrameOrder(j)
        Next j
        
        nBgnAdr_l = nBgnAdr_l + 8             '計算下一個地址

        
        st = SendOrder(cAFrameOrder(0), cAFrameAck(0), 1000)
        Sleep 100                              '掛起100毫秒
        
        If st = 0 Then                         '判斷發送數據是否正確
              If cAFrameAck(1) = &HA0 Then
                  For j = 1 To nFrameLen
                    Str = Str + Chr(cAFrameAck(2 + j))
                  Next j
              Else
                  ReadE2PRom = ""
                  Exit Function
              End If

        Else
           ReadE2PRom = ""
          Exit Function
        End If
    Next i
     
     
     
    If nFrameLeave > 0 Then
        cAFrameOrder(0) = &H12                '發最后一幀數據
        cAFrameOrder(1) = &H20
        cAFrameOrder(2) = &H4
        cAFrameOrder(3) = nBgnAdr_l           '取發送地址
        cAFrameOrder(4) = nBgnAdr_h
        cAFrameOrder(5) = nFrameLeave
        
           cAFrameOrder(6) = 0               '計算校驗和
        For j = 0 To 5
          cAFrameOrder(6) = cAFrameOrder(6) Xor cAFrameOrder(j)
        Next j
        
        
        st = SendOrder(cAFrameOrder(0), cAFrameAck(0), 1000)
        Sleep 100                              '掛起100毫秒
        
        If st = 0 Then                         '判斷發送數據是否正確
           If cAFrameAck(1) = &HA0 Then
                  For j = 1 To nFrameLeave
                    Str = Str + Chr(cAFrameAck(2 + j))
                  Next j
           Else
                   ReadE2PRom = ""
                   Exit Function
           End If

        Else
           ReadE2PRom = ""
          Exit Function
        End If
     End If
       ReadE2PRom = Str
                             '返回字符串
        
End Function
        
        '------------------------------------------------------------
        '說明:  向寫E2PRom數據
        '參數:  BgnAdr_L 開始寫數據低地址、BgnAdr_H 開始寫數據高地址、
        '       WriteDate 所寫數據
        '返回:  0 為發送數成功,1為發送數據失敗
        '------------------------------------------------------------
Function WriteE2PRom(ByVal BgnAdr_L As Integer, ByVal BgnAdr_H As Integer, ByVal WriteDate As String)
    Dim nFrameLen As Integer                 '幀長度變量
    Dim nFrameNum As Integer                 '幀數
    Dim nFrameLeave As Integer               '最后一帳數據長度
    Dim cAFrameOrder(13) As Byte             '發送數據緩沖區
    Dim cAFrameAck(4) As Byte                '回應幀數據緩沖區
    Dim nBgnAdr_l As Integer                 '發送數據低地址
    Dim nBgnAdr_h As Integer                 '發送數據高地址
    Dim nLen  As Integer                     '發送數據長度
    Dim i As Integer
    Dim j As Integer
       
    WriteE2PRom = 1
    nFrameLen = 8                            '每幀發送八個數據
    nBgnAdr_l = BgnAdr_L
    nBgnAdr_h = BgnAdr_H
      
    nLen = Len(WriteDate)                    '取字符串長度
    If nLen > 0 Then
        nFrameNum = Int(nLen / nFrameLen)
        nFrameLeave = nLen Mod nFrameLen
    End If
    
    
    For i = 1 To nFrameNum                   '發送nFrameNum幀數據
        cAFrameOrder(0) = &H12
        cAFrameOrder(1) = &H21
        cAFrameOrder(2) = &HB
        cAFrameOrder(3) = nBgnAdr_l           '取發送地址
        cAFrameOrder(4) = nBgnAdr_h
        
        For j = 1 To nFrameLen                '取發送數據
           cAFrameOrder(4 + j) = Asc(Mid(WriteDate, (i - 1) * 8 + j, 1))
        Next j
        
           cAFrameOrder(13) = 0               '計算校驗和
        For j = 0 To 12
          cAFrameOrder(13) = cAFrameOrder(13) Xor cAFrameOrder(j)
        Next j
        
        nBgnAdr_l = nBgnAdr_l + 8             '計算下一個地址

        
        st = SendOrder(cAFrameOrder(0), cAFrameAck(0), 1000)
        Sleep 100                              '掛起100毫秒
        
        If st = 0 Then                         '判斷發送數據是否正確
              If cAFrameAck(1) = &HA0 Then
                  WriteE2PRom = 0
              Else
                  WriteE2PRom = 1
                   Exit Function
              End If
           
        Else
           WriteE2PRom = 1
          Exit Function
        End If
    Next i
     
     
     
  If nFrameLeave > 0 Then
        cAFrameOrder(0) = &H12                '發最后一幀數據
        cAFrameOrder(1) = &H21
        cAFrameOrder(2) = 3 + nFrameLeave
        cAFrameOrder(3) = nBgnAdr_l           '取發送地址
        cAFrameOrder(4) = nBgnAdr_h
        
        For j = 1 To nFrameLeave              '取發送數據
           cAFrameOrder(4 + j) = Asc(Mid(WriteDate, nFrameNum * 8 + j, 1))
        Next j
        
           cAFrameOrder(nFrameLeave + 5) = 0   '計算校驗和
        For j = 0 To nFrameLeave + 4
          cAFrameOrder(nFrameLeave + 5) = cAFrameOrder(nFrameLeave + 5) Xor cAFrameOrder(j)
        Next j
        
        
        st = SendOrder(cAFrameOrder(0), cAFrameAck(0), 1000)
        Sleep 100                              '掛起100毫秒
        
        If st = 0 Then                         '判斷發送數據是否正確
           If cAFrameAck(1) = &HA0 Then
                   WriteE2PRom = 0
           Else
                   WriteE2PRom = 1
                   Exit Function
           End If
        Else
           WriteE2PRom = 1
          Exit Function
        End If
 End If
 
End Function
        '------------------------------------------------------------
        '說明:  十六進制字符轉為十進制值
        '參數:  HChar 十六進制字符(兩位)
        '
        '返回:  返回十進制值
        '------------------------------------------------------------
Function HtoD(ByVal HChar As String)
    Dim Ch1 As Long
    Dim Ch2 As Long
    
    Ch1 = Asc(Left$(HChar, 1))
    Ch2 = Asc(Right$(HChar, 1))
    Select Case Ch1
       Case 48 To 57
         Ch1 = Ch1 - 48
       Case 65 To 70
          Ch1 = Ch1 - 55
       Case 97 To 102
          Ch1 = Ch1 - 87
   End Select
   
    Select Case Ch2
       Case 48 To 57
         Ch2 = Ch2 - 48
       Case 65 To 70
          Ch2 = Ch2 - 55
       Case 97 To 102
          Ch2 = Ch2 - 87
   End Select
   Ch1 = Ch1 * 16 + Ch2
   HtoD = Ch1
End Function


        '------------------------------------------------------------
        '說明:  把字符串轉為十六進制顯示
        '參數:  Str字符串
        '
        '返回:  十六進制的字符串
        '------------------------------------------------------------
Function StoH(ByVal Str As String)
    Dim i As Integer
    Dim StrTem As String
    Dim StrTem2 As String
    
    If Len(Str) > 0 Then
     For i = 1 To Len(Str)
       StrTem2 = ""
       StrTem2 = Hex(Asc(Mid(Str, i, 1)))
       If Len(StrTem2) = 1 Then
          StrTem2 = "0" + StrTem2
       End If
       StrTem = StrTem + StrTem2 + " "
     Next i
       StoH = StrTem
    End If
End Function


        '------------------------------------------------------------
        '說明:  把字符串轉為十六進制顯示
        '參數:  Str十六進制字符
        '
        '返回:  字符串
        '------------------------------------------------------------
Function HtoS(ByVal Str As String)
    Dim i As Integer
    Dim StrTem As String
    Dim StrTem2 As String
    
    If Len(Trim(Str)) > 0 Then
     For i = 1 To Len(Trim(Str))
        If Asc(Mid(Trim(Str), i, 1)) <> 32 Then            '不為空格時
              StrTem2 = Mid(Trim(Str), i, 1)
              i = i + 1                                    '指向下一個
            If i <= Len(Trim(Str)) Then
              If Asc(Mid(Trim(Str), i, 1)) <> 32 Then
                 StrTem2 = StrTem2 + Mid(Trim(Str), i, 1)
              End If
            End If
            If Len(StrTem2) = 1 Then
              StrTem2 = "0" + StrTem2
            End If
              StrTem = StrTem + Chr(HtoD(StrTem2))
              StrTem2 = ""
        End If
     Next i
       HtoS = StrTem
    End If
End Function

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区中文字幕| 中文字幕一区在线观看视频| 成人精品国产一区二区4080| 日韩激情一二三区| 日本特黄久久久高潮| 亚洲福利电影网| 一区二区三区av电影| 亚洲精品日日夜夜| 亚洲国产日韩一区二区| 手机精品视频在线观看| 日韩福利视频网| 久久疯狂做爰流白浆xx| 国产综合久久久久久鬼色| 国产一区二区免费在线| 国产成人免费在线| a在线播放不卡| 日本乱码高清不卡字幕| 欧美日韩综合不卡| 日韩三级视频在线观看| 久久久精品中文字幕麻豆发布| 久久这里只有精品首页| 中文av一区二区| 亚洲欧美另类久久久精品| 亚洲第一搞黄网站| 久久不见久久见中文字幕免费| 国产精品一级片| 成人app网站| 欧美日韩国产区一| 久久尤物电影视频在线观看| 中文字幕一区二区三区在线观看| 亚洲欧美另类综合偷拍| 秋霞午夜鲁丝一区二区老狼| 国产伦精品一区二区三区视频青涩 | 成人在线视频一区| 91日韩在线专区| 欧美一级爆毛片| 欧美韩国日本不卡| 五月天激情综合| 成人影视亚洲图片在线| 欧美三片在线视频观看| 久久精品视频一区二区三区| 亚洲精品国产无套在线观| 日本欧美大码aⅴ在线播放| 国产suv精品一区二区三区| 欧美曰成人黄网| 久久亚洲二区三区| 亚洲卡通动漫在线| 国内成+人亚洲+欧美+综合在线| 色琪琪一区二区三区亚洲区| 亚洲精品一区二区三区香蕉| 亚洲综合视频在线观看| 国产91精品一区二区麻豆亚洲| 欧美色视频一区| 中文字幕一区二区三区色视频| 日本不卡一区二区三区| 91麻豆免费观看| 国产午夜亚洲精品羞羞网站| 免费在线欧美视频| 欧亚洲嫩模精品一区三区| 国产日韩精品视频一区| 免费在线观看一区| 欧美人牲a欧美精品| 18欧美亚洲精品| 国产剧情在线观看一区二区| 日韩免费看网站| 午夜国产精品影院在线观看| 99久久777色| 国产精品激情偷乱一区二区∴| 久久99蜜桃精品| 欧美一级日韩一级| 亚洲成a人片综合在线| 欧美在线观看视频一区二区三区 | 久久精品国产精品青草| 欧美人xxxx| 亚洲午夜激情av| 欧美亚日韩国产aⅴ精品中极品| 亚洲欧洲精品天堂一级 | 国产成人午夜电影网| 日韩久久精品一区| 精品亚洲成av人在线观看| 日韩欧美高清一区| 精品在线免费观看| 久久久综合网站| 国产精品69毛片高清亚洲| 国产调教视频一区| 在线观看网站黄不卡| 国产精品久久久久aaaa| 91色视频在线| 一卡二卡欧美日韩| 欧美日韩不卡一区| 免费在线观看一区| 国产亚洲精品aa| 不卡视频免费播放| 亚洲综合久久av| 欧美日韩国产美| 美腿丝袜在线亚洲一区| 精品sm捆绑视频| 国产.欧美.日韩| 亚洲激情自拍视频| 91精品国产色综合久久不卡电影| 免费黄网站欧美| 国产日韩精品一区| 在线精品国精品国产尤物884a| 午夜精品福利在线| 久久一区二区三区四区| av电影在线观看完整版一区二区| 亚洲精品老司机| 精品黑人一区二区三区久久| 粉嫩久久99精品久久久久久夜| 亚洲最新视频在线观看| 日韩精品一区二区在线观看| 成人性生交大片免费看视频在线 | 亚洲精品少妇30p| 日韩一区和二区| 播五月开心婷婷综合| 午夜日韩在线电影| 国产视频一区在线播放| 在线看不卡av| 高清国产一区二区| 五月综合激情网| 国产欧美精品一区aⅴ影院| 欧美色视频在线| 国产高清久久久| 首页国产欧美久久| 成人免费在线视频观看| 精品电影一区二区三区| 欧美性一区二区| 成人美女视频在线看| 欧美aa在线视频| 亚洲自拍另类综合| 国产精品久久久久久久久免费樱桃| 91精品国产高清一区二区三区蜜臀 | 欧美少妇xxx| 成人黄色软件下载| 蜜芽一区二区三区| 亚洲国产精品久久不卡毛片| 国产精品久久午夜夜伦鲁鲁| 日韩精品一区二区三区中文不卡| 欧美综合天天夜夜久久| 成人在线一区二区三区| 国产真实乱偷精品视频免| 日韩中文字幕一区二区三区| 亚洲少妇30p| 国产欧美日韩在线观看| 精品国产一区二区在线观看| 欧美精品久久99| 欧美日韩一区小说| 欧美亚洲图片小说| 色婷婷综合五月| 91麻豆免费看片| 91麻豆国产在线观看| 丁香天五香天堂综合| 国产激情一区二区三区桃花岛亚洲| 日av在线不卡| 美腿丝袜一区二区三区| 免费不卡在线视频| 美女在线视频一区| 蜜桃在线一区二区三区| 麻豆国产精品视频| 狠狠色丁香久久婷婷综| 国内精品免费在线观看| 国产精品一二三四| 国产aⅴ精品一区二区三区色成熟| 麻豆成人久久精品二区三区红| 男人操女人的视频在线观看欧美| 日日夜夜精品视频免费| 人人狠狠综合久久亚洲| 极品瑜伽女神91| 成人午夜av电影| 色综合天天做天天爱| 在线观看三级视频欧美| 欧美日韩一区中文字幕| 91精品蜜臀在线一区尤物| 欧美大白屁股肥臀xxxxxx| xfplay精品久久| 中文字幕一区二区三区色视频 | 亚洲自拍偷拍网站| 午夜免费久久看| 韩国在线一区二区| 成人a级免费电影| 欧美伊人久久久久久久久影院| 欧美理论片在线| 久久久777精品电影网影网| 国产精品美女久久久久aⅴ| 亚洲黄色录像片| 久久电影国产免费久久电影| 国产激情视频一区二区在线观看| 91丨九色丨黑人外教| 91精品一区二区三区久久久久久| 久久人人爽爽爽人久久久| √…a在线天堂一区| 日韩电影在线观看网站| 国产不卡视频一区| 欧美日韩精品二区第二页| 久久亚洲捆绑美女| 亚洲第一精品在线| 福利电影一区二区| 欧美精品在线视频| 国产精品免费看片| 美国三级日本三级久久99|