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

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

?? zlgcomport.bas

?? 232串口通信for c51 ,use keil 51
?? 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一区二区三区免费野_久草精品视频
色婷婷久久99综合精品jk白丝| 99久久国产综合色|国产精品| 亚洲线精品一区二区三区| 国产精品国产三级国产普通话99 | 亚洲欧美综合另类在线卡通| 久久精品欧美日韩精品 | 日本道色综合久久| 色综合天天天天做夜夜夜夜做| eeuss影院一区二区三区| 97精品超碰一区二区三区| 一本到不卡精品视频在线观看| 色综合天天综合网天天看片| 欧美日韩精品一区二区三区| 日韩色视频在线观看| 久久综合丝袜日本网| 国产精品人妖ts系列视频| 亚洲欧洲www| 免费在线视频一区| 春色校园综合激情亚洲| 欧美影院精品一区| 日韩欧美123| 国产精品不卡一区二区三区| 亚洲第一精品在线| 国产毛片精品视频| 91毛片在线观看| 日韩美女一区二区三区| 国产精品二三区| 美美哒免费高清在线观看视频一区二区| 精品一区二区三区在线观看| 99精品视频在线观看免费| 欧美一区二区视频观看视频| 久久亚洲精品国产精品紫薇| 夜夜操天天操亚洲| 国产精品中文字幕日韩精品| 日本久久一区二区| 国产三区在线成人av| 视频在线观看91| aaa欧美色吧激情视频| 在线播放中文一区| 国产精品免费网站在线观看| 日韩国产欧美一区二区三区| 成人污污视频在线观看| 宅男噜噜噜66一区二区66| 国产精品水嫩水嫩| 久久超碰97人人做人人爱| 色94色欧美sute亚洲13| 欧美国产国产综合| 九色|91porny| 日韩午夜激情视频| 亚洲成人精品影院| 欧美中文字幕一区二区三区亚洲| 亚洲国产精品传媒在线观看| 日韩电影免费一区| 欧美日韩美女一区二区| 国产精品的网站| 国产一区二区三区不卡在线观看| 欧美日韩一区二区三区在线看| 国产精品久久久久久亚洲毛片| 精品一区二区三区视频在线观看| 欧美日韩日日摸| 一区二区三区四区精品在线视频| 成人爽a毛片一区二区免费| 久久这里只有精品6| 老司机午夜精品| 欧美xxxxx裸体时装秀| 日韩一区精品视频| 在线不卡a资源高清| 日韩制服丝袜先锋影音| 69堂亚洲精品首页| 日本麻豆一区二区三区视频| 欧美日韩国产首页在线观看| 亚洲国产精品久久久久秋霞影院| 91国偷自产一区二区开放时间| 亚洲视频一区二区在线观看| 色综合视频一区二区三区高清| 亚洲欧美激情视频在线观看一区二区三区| 国产精品一线二线三线精华| 久久久国际精品| 国产sm精品调教视频网站| 国产日韩在线不卡| 99精品黄色片免费大全| 樱桃视频在线观看一区| 欧美在线999| 舔着乳尖日韩一区| www国产亚洲精品久久麻豆| 国产精品一二三在| 国产精品国产自产拍在线| 色婷婷亚洲精品| 午夜精品久久一牛影视| 91精品一区二区三区久久久久久| 中文字幕不卡三区| 在线精品亚洲一区二区不卡| 男人的天堂久久精品| xf在线a精品一区二区视频网站| 国产.欧美.日韩| 亚洲免费观看在线视频| 在线不卡一区二区| 国产mv日韩mv欧美| 亚洲成a人片综合在线| 日韩免费看的电影| 成人一区二区视频| 亚洲精品免费在线观看| 日韩欧美一区二区不卡| 9久草视频在线视频精品| 亚洲第一电影网| 国产欧美精品一区二区色综合朱莉| 91丨九色丨蝌蚪富婆spa| 视频一区在线视频| 日韩一区日韩二区| 日韩亚洲国产中文字幕欧美| 不卡在线观看av| 日韩电影免费在线| 亚洲欧美一区二区三区极速播放| 日韩视频一区在线观看| 91一区二区三区在线播放| 蜜臀av一级做a爰片久久| 亚洲免费观看高清完整版在线观看熊| 欧美一级在线观看| 91丨porny丨国产入口| 国内精品写真在线观看| 亚洲大片在线观看| 亚洲美女区一区| 国产丝袜美腿一区二区三区| 欧美一区二区精品| 日本高清免费不卡视频| 国产999精品久久久久久| 免费三级欧美电影| 亚洲福利视频导航| 亚洲欧美一区二区三区孕妇| 久久综合网色—综合色88| 777久久久精品| 欧美色综合久久| 99在线视频精品| 国产91清纯白嫩初高中在线观看| 欧美a一区二区| 午夜影院久久久| 亚洲图片欧美一区| 亚洲激情网站免费观看| 国产精品午夜在线观看| 国产亚洲欧美日韩在线一区| 精品对白一区国产伦| 欧美一三区三区四区免费在线看 | 成人精品视频.| 国产精品中文字幕日韩精品| 久久国产精品免费| 美国毛片一区二区| 激情久久五月天| 国产专区欧美精品| 国产不卡一区视频| 菠萝蜜视频在线观看一区| 国产69精品久久777的优势| 国产精品影视在线观看| 国产黑丝在线一区二区三区| 国产成人综合在线| 成人丝袜18视频在线观看| 成人精品免费网站| 91麻豆福利精品推荐| 欧美三级三级三级| 在线播放/欧美激情| 日韩一级二级三级| 国产日韩影视精品| 亚洲欧美日韩国产一区二区三区| √…a在线天堂一区| 亚洲精品亚洲人成人网 | 日韩午夜三级在线| 精品国产一区二区三区忘忧草 | 亚洲v精品v日韩v欧美v专区| 日韩精品视频网| 久久99久久久欧美国产| 大尺度一区二区| 欧美日韩一区二区三区四区| 欧美va日韩va| 中文字幕中文在线不卡住| 五月天中文字幕一区二区| 国产在线播放一区| 99国产一区二区三精品乱码| 欧美性生活影院| xf在线a精品一区二区视频网站| 欧美激情一区不卡| 亚洲国产日产av| 精品一区二区日韩| 91九色02白丝porn| 精品国产一区二区精华| 中文字幕在线免费不卡| 日日夜夜免费精品| 不卡av在线网| 精品人伦一区二区色婷婷| 中文字幕制服丝袜成人av| 肉丝袜脚交视频一区二区| 国产成人丝袜美腿| 欧美日韩视频专区在线播放| 久久久精品黄色| 五月天视频一区| 91女厕偷拍女厕偷拍高清| 日韩一区二区三区在线| 亚洲欧美日本在线| 国产999精品久久久久久| 91精品国产入口| 亚洲一区二区不卡免费| 成人丝袜高跟foot|