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

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

?? communication.bas

?? 基于RS-232的
?? BAS
?? 第 1 頁 / 共 3 頁
字號:
'If indexE = iend Then indexE = indexE - 1
If indexS < istart Then indexS = istart

K = indexS
For I = indexS To indexE
  dataArray(K) = dataArray(I)
  If dataArray(I) = &H7D& And I < indexE Then
     If dataArray(I + 1) = &H5E& Then
        dataArray(K) = &H7E&
        I = I + 1
     ElseIf dataArray(I + 1) = &H5D& Then
        dataArray(K) = &H7D&
        I = I + 1
     ElseIf dataArray(I + 1) = &H5F& Then
        dataArray(K) = &HFF&
        I = I + 1
     End If

  End If
  K = K + 1
Next I
RcvDataByteIndex = K - 1
Exit Sub




'Put #1, , "start_FUN_comm_del7dflag" & vbCr & vbLf
K = istart
For I = istart To iend
  dataArray(K) = dataArray(I)
  If dataArray(I) = &H7D& Then
     If dataArray(I + 1) = &H5E& Then
        dataArray(K) = &H7E&
        I = I + 1
     ElseIf dataArray(I + 1) = &H5D& Then
        dataArray(K) = &H7D&
        I = I + 1
     ElseIf dataArray(I + 1) = &H5F& Then
        dataArray(K) = &H7F&
        I = I + 1
     End If

  End If
  K = K + 1
Next I
RcvDataByteIndex = K - 1
Exit Sub
'For K = indexS To indexE Step 1
If indexE = iend Then indexE = indexE - 1
If indexS = iend Then indexS = indexS - 1

num = indexE - indexS
K = istart
Do Until num < 0
 If dataArray(indexS) = &H7D& And dataArray(indexS + 1) = &H5E& Then
   dataArray(indexS) = &H7E&
   For I = indexS + 1 To iend - 1 Step 1
     dataArray(I) = dataArray(I + 1)
   Next I
   iend = iend - 1
   ReDim Preserve dataArray(istart To iend) As Byte
   indexS = indexS + 1
    num = num - 2
 ElseIf dataArray(indexS) = &H7D& And dataArray(indexS + 1) = &H5D& Then
   dataArray(indexS) = &H7D&
   For I = indexS + 1 To iend - 1 Step 1
     dataArray(I) = dataArray(I + 1)
   Next I
   iend = iend - 1
   ReDim Preserve dataArray(istart To iend) As Byte
     
     indexS = indexS + 1
     num = num - 2
   '////7d-5F----FF
 ElseIf dataArray(indexS) = &H7D& And dataArray(indexS + 1) = &H5F& Then
   dataArray(indexS) = &HFF&
   For I = indexS + 1 To iend - 1 Step 1
     dataArray(I) = dataArray(I + 1)
   Next I
   iend = iend - 1
   ReDim Preserve dataArray(istart To iend) As Byte
     
     indexS = indexS + 1
     num = num - 2
    
     
 Else
     indexS = indexS + 1
     num = num - 1
 End If
 Loop
 
End Sub


Private Function COMM_GenerateCRC(data() As Byte, indexS As Integer, indexE As Integer) As Byte
    '//求異或
   ' BYTE tmp=0;
   ' for(int i=0;i<len;i++)
   ' {
   '     tmp=tmp+data[i];
   ' }
   ' return ((0xFF^tmp)+1);
  
   
   Dim tmp As Integer, I As Integer, length As Integer, zerobyte As Byte
   Dim i1 As Integer, i2 As Integer, i3 As Integer
   zerobyte = 0
   tmp = 0
   'length = UBound(data)
   For I = indexS To indexE Step 1
   tmp = (tmp + data(I)) And 255
   Next I
   i1 = zerobyte
   i2 = tmp
   COMM_GenerateCRC = (0 - i2) And 255
   'zerobyte - tmp
   'Put #1, , "FUN_comm_generatecrc: " & (COMM_GenerateCRC) & vbCr & vbLf
    
End Function
Private Function COMM_CheckCRC(data() As Byte) As Byte
'BYTE tmp=0;
 '   for(int i=0;i<Len;i++)
 '   {
 '       tmp=tmp+pdata[i];
 '   }
 '   return tmp;=0 校驗正確
 Dim tmp As Integer, I As Integer
 tmp = 0
 For I = 0 To RcvDataByteIndex 'UBound(data) Step 1
  tmp = (tmp + data(I)) And 255
 Next I
 COMM_CheckCRC = tmp
' Put #1, , "FUN_comm_checkcrc: " & (COMM_CheckCRC) & vbCr & vbLf
End Function

Public Sub COMM_MSCommCtl_OnComm(RcvLed As Object)
'Put #1, , "FUN_mscommctl_oncomm" & vbCr & vbLf
Select Case COMM_RcVMSCOMM.CommEvent
  
  Case comEvReceive
       MainForm1.RcvLedTimer.Enabled = False
       zhandianpic_receive '控制綠燈
     '  RcvLed.RxdOnOff = 1 '0 '接收燈亮
       Call COMM_ReceiveData
  'Case comEvEOF '接收燈滅????????是否為接收結束標志
    '   RcvLed.RxdOnOff = 0
End Select
End Sub
Private Sub COMM_ReceiveData()

Dim di As Variant
Dim cLen, I, num As Integer
'Put #1, , "start_FUN_comm_receivedata" & vbCr & vbLf

'Put #1, , "in_FUN_comm_receivedata_ overtime-timer is unenable:" & vbCr & vbLf
cLen = COMM_RcVMSCOMM.InBufferCount
' Put #1, , "time:" & Time & "--in_FUN_comm_receivedata_orgdata number:" & cLen & vbCr & vbLf
di = COMM_RcVMSCOMM.Input

Dim tmp() As Byte
ReDim tmp(0 To cLen - 1)
For I = 0 To cLen - 1
tmp(I) = di(I)
Next I

'  Put #1, , "in_FUN_comm_receivedata_orgdata:" & ConvertChar(tmp) & vbCr & vbLf
  Erase tmp
  
 'For I = 0 To cLen + num - 2
 'index = 0
 If COMM_PKStartFlag = False And COMM_PKEndFlag = False Then
     RcvDataByteIndex = 0 '接收字節索引號
     'COMM_RcvData(0) = 0
     tmp_Rcvdata(0) = 0
  End If
 For I = 0 To cLen - 1
   If COMM_PKStartFlag = False Then
      If di(I) = PKStart Then
         'COMM_RcvData(0) = di(I)
       '  ReDim COMM_RcvData(400)
         COMM_PKStartFlag = True
      End If
   Else
      If RcvDataByteIndex = 0 Then
         If di(I) <> PKStart Then
           'COMM_RcvData(0) = di(I)
            tmp_Rcvdata(0) = di(I)
           RcvDataByteIndex = RcvDataByteIndex + 1
         End If
      Else
         If di(I) <> PKEND Then
           'COMM_RcvData(RcvDataByteIndex) = di(I)
            tmp_Rcvdata(RcvDataByteIndex) = di(I)
           If RcvDataByteIndex = 400 Then
             COMM_PKEndFlag = True
             Exit For
           End If
           
           RcvDataByteIndex = RcvDataByteIndex + 1
           
           
         Else
           COMM_PKEndFlag = True
           RcvDataByteIndex = RcvDataByteIndex - 1
           Exit For
         End If
      End If
   End If
   
 Next I
 GoTo backstep
 
 Do Until COMM_PKEndFlag = True Or I > cLen - 1
    
  If di(I) = PKStart And RcvDataByteIndex = 0 Then
        ReDim COMM_RcvData(400)
        COMM_RcvData(0) = PKStart
  ElseIf di(I) <> PKStart And COMM_RcvData(0) = PKStart Then
       'ReDim COMM_RcvData(200)
       RcvDataByteIndex = 0
       COMM_PKStartFlag = True
       COMM_RcvData(RcvDataByteIndex) = di(I)
  ElseIf di(I) = PKEND And COMM_RcvData(RcvDataByteIndex) <> PKEND Then
       COMM_PKEndFlag = True
            
  ElseIf COMM_PKStartFlag = True And COMM_PKEndFlag = False Then
       
       RcvDataByteIndex = RcvDataByteIndex + 1
       'ReDim Preserve COMM_RcvData(RcvDataByteIndex)
       COMM_RcvData(RcvDataByteIndex) = di(I)
  End If
  I = I + 1
Loop
backstep:
If COMM_PKEndFlag = True Then
   COMM_isACKFlag = True
   overtime_timer.Enabled = False '超時無效
   COMM_PKStartFlag = False
   COMM_PKEndFlag = False
   ReDim COMM_RcvData(RcvDataByteIndex)
   For I = 0 To RcvDataByteIndex
   COMM_RcvData(I) = tmp_Rcvdata(I)
   Next I
   Put #1, , "in_FUN_comm_receivedata_comm_realdata:" & ConvertChar(COMM_RcvData) & "(" & RcvDataByteIndex & ")" & vbCr & vbLf
   If RcvDataByteIndex > 2 Then ProcessRcvData
   RcvDataByteIndex = 0
 End If


End Sub


Private Sub ProcessRcvData()
Dim CRC As Byte, num, I As Integer
'Put #1, , "start_FUN_comm_processrcvdata" & vbCr & vbLf



COMM_Del7DFlag COMM_RcvData, UBound(COMM_RcvData) - 1, UBound(COMM_RcvData)  '過濾校驗位的特殊字符
ReDim Preserve COMM_RcvData(RcvDataByteIndex)
CRC = COMM_CheckCRC(COMM_RcvData)

If CRC = 0 Then '校驗正確
 Put #1, , "start_FUN_comm_processrcvdata" & "crc_ok" & vbCr & vbLf
  COMM_Del7DFlag COMM_RcvData, 0, UBound(COMM_RcvData) '過濾數據中的特殊字符
  ReDim Preserve COMM_RcvData(RcvDataByteIndex - 1) '需去掉校驗位
  Dim sourceADDR As Byte, CorrectFlag As Byte
  sourceADDR = COMM_RcvData(1) '下位機地址
  CorrectFlag = COMM_RcvData(2) '標志位,01正確,02錯誤
  
  If CorrectFlag = ACK_OK Then '下位機正確接收
    '下位機無上傳數據
     If COMM_CurCmd = DOWN_IO Or COMM_CurCmd = DOWN_OCTIME Or COMM_CurCmd = DOWN_STDTIME Then
       
       Put #1, , "FUN_comm_processrcvdata" & "ack_ok_UP_no _data" & vbCr & vbLf
      
       COMM_ReSendTimes = 0 '重傳次數復位
       'COMM_isSendOverFlag = True
      ' COMM_CurCmd = NO_CMD
       '若消息隊列中仍有消息,則發送消息
       COMM_CheckResumeSend
       'If COMM_IsMessageGroupEmpty = False Then COMM_CheckMessageAndPack
       Put #1, , "FUN_comm_processrcvdata" & "ack_ok_up_nodata_reset" & vbCr & vbLf
       
     ElseIf COMM_CurCmd = UP_HISRECORD Then '下位機有上傳數據歷史記錄
       COMM_ReSendTimes = 0 '重傳次數復位
       Dim CurRcvPacketIndex As Double, t1 As Double, t2 As Double
       t1 = COMM_RcvData(4): t2 = COMM_RcvData(5)
       CurRcvPacketIndex = t1 * 256 + t2
       If CurRcvPacketIndex > 99 Then
       Dim avg As Integer
       avg = 3
       End If
      
       Put #1, , "FUN_comm_processrcvdata" & "rcv_UpHistory_packnum:" & CurRcvPacketIndex & vbCr & vbLf
       Put #1, , "FUN_comm_processrcvdata" & "send_ack_ok_UpHistory_packnum:" & COMM_CurHisPackIndex & vbCr & vbLf
       COMM_CurHisPackIndex = COMM_CurHisPackIndex + 1
       'If COMM_CurHisPackIndex < HISPACKETNUM And COMM_TerminateSendByForce = False Then
       If CurRcvPacketIndex <> &HFFFF& And COMM_TerminateSendByForce = False Then
         Dim dat() As Byte
         '要求發送其他包
         
         COMM_PacketData UP_HISRECORD, COMM_CurDestADDR, dat, COMM_SendPacket
         COMM_StartSendData

       Else
       '先清零再組包
         COMM_CurHisPackIndex = 0
       '若消息隊列中仍有消息,則發送消息
         COMM_CheckResumeSend
        
         Put #1, , "FUN_comm_processrcvdata" & "ack_ok_uphis_reset" & vbCr & vbLf
       ' COMM_isSendOverFlag = True
        
        ' COMM_CurCmd = NO_CMD '發送結束
       End If 'end of send history
      
       SED_ExtractRealData COMM_RcvData '取出數據
       
    ElseIf COMM_CurCmd = UP_UI Or COMM_CurCmd = UP_TIME Then '下位機上傳得其它數據UI,IO,TIME
        Put #1, , "FUN_comm_processrcvdata" & "ack_ok_up_data to extract:" & ConvertChar(COMM_RcvData) & vbCr & vbLf

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合天天综合网天天狠天天| 日本美女一区二区三区| 一本色道a无线码一区v| 亚洲午夜在线视频| 日韩欧美高清dvd碟片| 成人国产精品免费观看动漫| 秋霞成人午夜伦在线观看| 国产精品亲子乱子伦xxxx裸| 欧美日韩国产免费一区二区| 国产成人综合精品三级| 中文字幕在线观看不卡视频| 日韩欧美在线123| 99在线精品观看| 日本中文字幕一区二区有限公司| 欧美韩日一区二区三区| 92精品国产成人观看免费| 国产精品一二二区| 亚洲午夜久久久久中文字幕久| 久久一区二区三区国产精品| 欧美日韩在线三级| 丁香婷婷综合色啪| 日韩成人dvd| 亚洲1区2区3区视频| 亚洲色图制服诱惑| 国产网站一区二区三区| 日韩女优av电影| 日日摸夜夜添夜夜添国产精品| 亚洲日韩欧美一区二区在线| 久久久国产精品午夜一区ai换脸 | 六月丁香婷婷色狠狠久久| 亚洲综合免费观看高清完整版在线| 久久综合网色—综合色88| 欧美日韩中文一区| 色呦呦一区二区三区| 日本在线不卡视频| 午夜在线成人av| 一区二区三区丝袜| 国产精品久久777777| 久久久电影一区二区三区| 欧美日韩国产高清一区二区| 97精品国产露脸对白| 岛国精品一区二区| 国产美女av一区二区三区| 奇米色777欧美一区二区| 日本美女一区二区| 午夜私人影院久久久久| 亚洲综合色噜噜狠狠| 亚洲日韩欧美一区二区在线| 久久亚洲精华国产精华液| 久久久久97国产精华液好用吗| 日韩一卡二卡三卡国产欧美| 91精品国产一区二区三区香蕉| 欧美日本一区二区三区四区| 99久久免费视频.com| 日本韩国一区二区三区| 色婷婷av一区二区| 91视频一区二区| 色欧美88888久久久久久影院| 波波电影院一区二区三区| 色婷婷综合视频在线观看| 国产成人av福利| 成人av在线网| 色婷婷久久久综合中文字幕| 色94色欧美sute亚洲线路一ni| 色婷婷综合久久久中文一区二区| 欧美日韩亚洲综合在线 | 欧美日韩激情在线| 欧美精品久久一区| 欧美成人a视频| 久久久久久99精品| 欧美精品一区二区不卡| 亚洲图片你懂的| 亚洲国产欧美在线| 奇米综合一区二区三区精品视频 | 欧美一区二区日韩一区二区| 欧美一二三在线| 国产精品福利电影一区二区三区四区| 一区二区三区免费看视频| 日本不卡的三区四区五区| 国产成人综合网站| 欧美日韩一区二区三区四区五区 | 亚洲天堂av一区| 天天综合网天天综合色| 国产精品77777竹菊影视小说| 日本道精品一区二区三区| 日韩欧美精品三级| 中文字幕综合网| 美女被吸乳得到大胸91| 色呦呦国产精品| 久久影院视频免费| 天堂精品中文字幕在线| 成人av电影在线网| 精品成人私密视频| 亚洲线精品一区二区三区| eeuss鲁一区二区三区| 欧美一级欧美三级| 一区二区不卡在线视频 午夜欧美不卡在 | 久久99热这里只有精品| 色偷偷成人一区二区三区91| 久久九九久久九九| 亚洲mv大片欧洲mv大片精品| 99综合影院在线| 久久久精品tv| 精品一区二区三区欧美| 欧美久久久一区| 亚洲视频免费观看| 本田岬高潮一区二区三区| 久久久久久久久一| 奇米精品一区二区三区四区| 欧美亚洲动漫制服丝袜| 国产精品久久久久久久久果冻传媒 | 国产成人午夜视频| 欧美一区二区三区四区久久| 一区二区三区av电影| 不卡在线观看av| 国产精品天天摸av网| 蜜桃视频第一区免费观看| 欧美日本视频在线| 亚洲综合一区二区精品导航| 99国产麻豆精品| 国产精品久久久久天堂| 成人涩涩免费视频| 中文字幕成人在线观看| 粉嫩一区二区三区在线看| 欧美成人女星排名| 美国三级日本三级久久99| 欧美巨大另类极品videosbest | 国产日韩在线不卡| 精品制服美女丁香| 欧美一区二区私人影院日本| 亚洲一区二区三区爽爽爽爽爽| 欧洲精品在线观看| 一区二区在线观看视频| 色欧美88888久久久久久影院| 亚洲精选一二三| 欧美艳星brazzers| 亚洲成人免费视| 宅男在线国产精品| 精品综合免费视频观看| 久久精品在线免费观看| 国产高清成人在线| 欧美高清在线视频| 成人激情免费视频| 亚洲色欲色欲www| 欧美在线免费播放| 天天综合日日夜夜精品| 欧美成人a视频| 国产福利一区二区三区在线视频| 国产亚洲精品bt天堂精选| 成人免费黄色大片| 亚洲男女毛片无遮挡| 欧美亚洲综合久久| 卡一卡二国产精品| 国产偷国产偷亚洲高清人白洁| 不卡视频一二三| 一区二区不卡在线播放 | 色呦呦一区二区三区| 亚洲线精品一区二区三区八戒| 91精品国产综合久久福利| 国产一区美女在线| 综合久久一区二区三区| 欧美日韩视频在线第一区 | 国产不卡免费视频| 欧美激情资源网| 99国产精品国产精品毛片| 亚洲一区二区三区自拍| 欧美一级午夜免费电影| 国产成人精品aa毛片| 亚洲最新视频在线播放| 精品日韩欧美在线| 成人毛片在线观看| 日一区二区三区| 中文字幕 久热精品 视频在线 | 东方aⅴ免费观看久久av| 亚洲综合免费观看高清完整版在线| 日韩亚洲欧美综合| 91精品国产全国免费观看| 国产精品一二三在| 性感美女久久精品| 欧美激情在线观看视频免费| 欧美无砖砖区免费| 国产福利不卡视频| 亚洲一区二区五区| 国产人久久人人人人爽| 欧美男生操女生| 成人激情小说网站| 蜜臀a∨国产成人精品| 亚洲色图清纯唯美| www国产亚洲精品久久麻豆| 在线免费一区三区| 国产精品888| 美腿丝袜在线亚洲一区| 亚洲欧美日韩成人高清在线一区| 欧美精品一区二区久久婷婷| 欧美色大人视频| caoporn国产精品| 国产乱理伦片在线观看夜一区| 天天av天天翘天天综合网| 中文字幕中文字幕在线一区| 久久综合九色综合欧美就去吻 |