亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产精品成人免费精品自在线观看| 一区二区三区中文在线观看| 欧美日韩免费在线视频| 色综合色综合色综合色综合色综合 | 在线综合+亚洲+欧美中文字幕| 日韩一级片网站| 国产精品青草久久| 九九久久精品视频| 成人三级在线视频| 欧美午夜一区二区三区| 久久久久久久国产精品影院| 一区二区在线观看av| 久久国产日韩欧美精品| 成人久久18免费网站麻豆| 欧美性xxxxx极品少妇| 久久久久久麻豆| 日韩精品电影一区亚洲| 99国产欧美久久久精品| 久久久精品国产免大香伊| 亚洲va欧美va国产va天堂影院| 丁香亚洲综合激情啪啪综合| 成人综合婷婷国产精品久久蜜臀| 欧美一激情一区二区三区| 亚洲黄色性网站| 色屁屁一区二区| 中文字幕人成不卡一区| 国产精品一线二线三线| 久久亚洲捆绑美女| 久久99国产精品免费| 日韩一区二区三区三四区视频在线观看 | 精品国产三级电影在线观看| 奇米综合一区二区三区精品视频| 欧美自拍丝袜亚洲| 亚洲成人一区在线| 欧美日韩视频一区二区| 三级一区在线视频先锋| 日韩女优毛片在线| 国内精品伊人久久久久av影院| 成人avav影音| 久久久精品免费观看| 国产一区二三区| 国产午夜亚洲精品不卡| 国产高清视频一区| 国产精品国产三级国产三级人妇 | 国产精品大尺度| 在线欧美日韩精品| 久久电影国产免费久久电影| 久久久久9999亚洲精品| 不卡的av电影| 亚洲成人自拍偷拍| 久久久一区二区三区捆绑**| 91亚洲午夜精品久久久久久| 午夜影视日本亚洲欧洲精品| 欧美成人午夜电影| 欧美亚日韩国产aⅴ精品中极品| 丝袜国产日韩另类美女| 国产三级欧美三级日产三级99| 色婷婷亚洲综合| 国产suv精品一区二区三区| 日本伊人色综合网| 久久久久99精品国产片| 精品视频免费在线| 成人免费毛片a| 国产一区在线观看视频| 亚洲一区二区在线免费观看视频| 欧美成人女星排名| 9191成人精品久久| 91精品91久久久中77777| 国产精品影视在线| 国产裸体歌舞团一区二区| 天天av天天翘天天综合网色鬼国产| 中文字幕一区二区5566日韩| 精品国产免费久久| 精品日韩成人av| 欧美精品一区二区三| 99精品欧美一区二区蜜桃免费| 全部av―极品视觉盛宴亚洲| 亚洲综合在线免费观看| 最新久久zyz资源站| 亚洲日本电影在线| 专区另类欧美日韩| 有坂深雪av一区二区精品| 一区二区视频免费在线观看| 久久精品人人做人人综合 | 国产大片一区二区| 精品一区二区久久| 国产成人综合亚洲网站| aaa欧美日韩| 91精品国产福利在线观看| 日韩你懂的在线播放| 精品sm在线观看| **性色生活片久久毛片| 一区二区三区四区亚洲| 日产欧产美韩系列久久99| 国产成人免费视频网站| 色综合久久中文综合久久97| 69久久夜色精品国产69蝌蚪网| 欧美电视剧在线看免费| **欧美大码日韩| 久久成人18免费观看| 色婷婷综合激情| 久久久蜜桃精品| 一区二区国产盗摄色噜噜| 麻豆国产精品777777在线| 9久草视频在线视频精品| 日韩视频在线一区二区| 久99久精品视频免费观看| 岛国精品在线观看| 欧美一区二区成人| 亚洲欧美另类久久久精品2019| 精品一区二区在线观看| 91国产成人在线| 日本一区二区免费在线 | 欧美亚男人的天堂| 国产精品伦理一区二区| 日韩高清电影一区| 91老司机福利 在线| 久久久精品国产免费观看同学| 日本aⅴ免费视频一区二区三区| 色综合色综合色综合色综合色综合| 91精品国产色综合久久不卡蜜臀 | 在线播放日韩导航| 亚洲777理论| 欧美卡1卡2卡| 久久精品国产99| 精品福利一区二区三区免费视频| 免费观看在线色综合| 欧美日本韩国一区| 青青国产91久久久久久| 日韩视频免费观看高清完整版| 日韩精品亚洲专区| 日韩欧美一级二级| 国产精品99久久久久久宅男| 国产精品天干天干在线综合| 成人a级免费电影| 亚洲男人电影天堂| 777午夜精品视频在线播放| 麻豆精品久久久| 国产日韩精品一区二区三区在线| 成人中文字幕合集| 亚洲国产综合人成综合网站| 日韩一区二区麻豆国产| 国产麻豆精品久久一二三| 日韩伦理免费电影| 精品少妇一区二区三区日产乱码| 国产不卡视频一区二区三区| 亚洲一区二区三区四区不卡| 精品乱人伦小说| 欧美视频在线观看一区二区| 美女视频免费一区| 久久精品夜夜夜夜久久| 欧美日韩一卡二卡| 成人黄色av电影| 日韩精品欧美精品| 亚洲人成精品久久久久久| 日韩亚洲欧美一区二区三区| 色婷婷av一区二区三区软件 | 欧美xingq一区二区| 一本到不卡免费一区二区| 东方欧美亚洲色图在线| 国产在线精品一区二区夜色| 一区二区三区日韩精品| 久久欧美一区二区| 欧美精品久久99久久在免费线| 在线观看免费一区| 99精品欧美一区二区蜜桃免费| 久久精品国产99| 偷窥国产亚洲免费视频| 一区二区三区四区中文字幕| 亚洲欧美福利一区二区| 精品国一区二区三区| 5566中文字幕一区二区电影| 日本精品裸体写真集在线观看| 国内精品国产三级国产a久久| 亚洲一区国产视频| 国产v综合v亚洲欧| 国产不卡视频在线观看| 激情综合色播五月| 麻豆国产精品777777在线| 五月天激情综合| 久久疯狂做爰流白浆xx| 国产成人超碰人人澡人人澡| 国产成人啪免费观看软件| 美国毛片一区二区三区| 裸体一区二区三区| 成人午夜伦理影院| www.综合网.com| 91精品国产综合久久精品| 国产午夜亚洲精品午夜鲁丝片 | 毛片av一区二区三区| 久久精品二区亚洲w码| 99久久伊人网影院| 欧美三级三级三级| 国产香蕉久久精品综合网| 亚洲四区在线观看| 精品一区二区三区影院在线午夜 | 国产精品美女久久久久aⅴ| 午夜影院久久久| 国产1区2区3区精品美女| 欧美探花视频资源|