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

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

?? communication.bas

?? 基于RS-232的
?? BAS
?? 第 1 頁 / 共 3 頁
字號:
        COMM_ReSendTimes = 0 '重傳次數復位
        '若消息隊列中仍有消息,則發送消息
        SED_ExtractRealData COMM_RcvData '取出數據
        COMM_CheckResumeSend
        'If COMM_IsMessageGroupEmpty = False Then COMM_CheckMessageAndPack
       
        
        'COMM_isSendOverFlag = True
       ' COMM_CurCmd = NO_CMD
        Put #1, , "FUN_comm_processrcvdata" & "ack_ok_updata_reset" & vbCr & vbLf
   ' Else '復位
   '     COMM_ReSendTimes = 0 '重傳次數復位
       ' SED_ExtractRealData COMM_RcvData '取出數據
       ' COMM_isSendOverFlag = True
        '若消息隊列中仍有消息,則發送消息
   '     COMM_CheckResumeSend
        'If COMM_IsMessageGroupEmpty = False Then COMM_CheckMessageAndPack
      
    End If 'end of process of all cmd
   Else ' CorrectFlag = ACK_FAIL Then '下位機接收不正確
  '重發,3次
   
    If COMM_ReSendTimes < 2 Then
      Put #1, , "FUN_comm_processrcvdata" & "ack_fail_resend_times-" & COMM_ReSendTimes & vbCr & vbLf
       COMM_ReSendTimes = COMM_ReSendTimes + 1 '起始值為0
       COMM_StartSendData '繼續該命令的傳送
    Else
      Put #1, , "FUN_comm_processrcvdata" & "ack_fail_resend_times >2 and_reset" & vbCr & vbLf
    '  COMM_isSendOverFlag = True
      COMM_ReSendTimes = 0 '重傳 次數復位
     ' COMM_CurCmd = NO_CMD '重傳,及命令復位
      COMM_CurHisPackIndex = 0 '?????
      '若消息隊列中仍有消息,則發送消息
      COMM_CheckResumeSend
       'If COMM_IsMessageGroupEmpty = False Then COMM_CheckMessageAndPack
    End If
    
    
          
  End If ' end of ack-ok
  
  
  
Else '校驗錯誤
Put #1, , "_FUN_comm_processrcvdata" & "crc_fail" & vbCr & vbLf
 '重發包,3次
   If COMM_ReSendTimes < 2 Then
       COMM_StartSendData '繼續該命令的傳送
       Put #1, , "FUN_comm_processrcvdata" & "crc_fail_resend_times-" & COMM_ReSendTimes & vbCr & vbLf
    Else
     '  COMM_isSendOverFlag = True
       COMM_ReSendTimes = 0
      ' COMM_CurCmd = NO_CMD ' 命令,及重發 復位
       COMM_CurHisPackIndex = 0
       '若消息隊列中仍有消息,則發送消息
       COMM_CheckResumeSend
       'If COMM_IsMessageGroupEmpty = False Then COMM_CheckMessageAndPack
       
       Put #1, , "FUN_comm_processrcvdata" & "crc_fail_resend_times >2,and reset" & vbCr & vbLf
   End If
   COMM_ReSendTimes = COMM_ReSendTimes + 1 '起始值為0
 
End If


End Sub




Private Sub COMM_StartSendData()

zhandianpic_fashe '亮
Dim num As Double, I, K As Integer
 'num = UBound(COMM_SendPacket)
Put #1, , "start_fun_comm_startsendData:-" & vbCr & vbLf
Put #1, , ConvertChar(COMM_SendPacket) & vbCr & vbLf
 'COMM_isSendOverFlag = False
 COMM_isACKFlag = False '下位機應答初始化為無
 overtime_timer.interval = ACK_OVERTIME
 overtime_timer.Enabled = True
 If COMM_SendMSCOMM.PortOpen = True Then COMM_SendMSCOMM.Output = COMM_SendPacket  '發送數據

 'Do
  '  K = DoEvents()
' Loop Until COMM_SendMSCOMM.OutBufferCount = 0
 'Put #1, , COMM_SendPacket

End Sub
Public Sub COMM_Overtime_timer_timer()
Put #1, , "start_fun_overtime_timer_timer" & vbCr & vbLf
Put #1, , "start_fun_overtime_timer_timer-comm_isackflag:--" & COMM_isACKFlag & vbCr & vbLf
  If COMM_isACKFlag = False Then
    Dim tmp As Variant
    ReDim COMM_RcvData(0) '清空接收緩沖區
    tmp = COMM_RcVMSCOMM.InputLen
    COMM_RcVMSCOMM.InBufferCount = 0 '清空串口接收緩沖區
    RcvDataByteIndex = 0 '接收的字節數復位
    If COMM_ReSendTimes < 2 Then
      COMM_ReSendTimes = COMM_ReSendTimes + 1
      COMM_StartSendData
      Put #1, , "start_fun_overtime_timer_timer-resend:--" & COMM_ReSendTimes & vbCr & vbLf
    Else
      Put #1, , "start_fun_overtime_timer_timer-over" & vbCr & vbLf
    
       'If COMM_IsMessageGroupEmpty = False Then COMM_CheckMessageAndPack
       
     ' COMM_isSendOverFlag = True '復位發送完標志
      COMM_ReSendTimes = 0
      overtime_timer.Enabled = False
      COMM_CurHisPackIndex = 0 '歷史包索引復位
      '若消息隊列中仍有消息,則發送消息
      COMM_CheckResumeSend
    End If
  Else
    
  End If
End Sub


Public Sub COMM_End()
Put #1, , "start_fun_comm_end" & vbCr & vbLf
If COMM_RcVMSCOMM.PortOpen = True Then COMM_RcVMSCOMM.PortOpen = False
If COMM_SendMSCOMM.PortOpen = True Then COMM_SendMSCOMM.PortOpen = False
End Sub
Public Function ConvertChar(dat() As Byte) As String
Dim I As Integer, str As String
str = " "
 For I = 0 To UBound(dat)
  str = str & (Hex(dat(I)))
 Next I
 ConvertChar = str
End Function
Private Sub sleep(I As Double, waitFlag As Boolean)
Dim K As Double, t As Double, R As Double, fir As Double
t = 0
For fir = 0 To I Step 1
For K = 0 To I Step 1
If waitFlag = True Then Exit Sub
t = t + 1
DoEvents
Next K
t = 0
Next fir
End Sub


'Public Sub checkSendAvilabeFlag_timer()
  
'End Sub

Public Sub COMM_CheckResumeSend()
Dim flag As Boolean, I As Integer
Dim count As Integer
count = UBound(COMM_CMDGroup)
If count <> 0 Then '有消息
  
   If COMM_CMDGroup(1).BeenUsedFlag = True Then
     
   '若命令已經用過,則從消息隊列中刪去
      For I = 1 To count - 1
       COMM_CMDGroup(I) = COMM_CMDGroup(I + 1)
      Next I
     ReDim Preserve COMM_CMDGroup(count - 1)
   End If
End If

count = UBound(COMM_CMDGroup)

'flag = COMM_IsMessageGroupEmpty

If count > 0 Then
  COMM_CheckMessageAndPack
Else
  MainForm1.CheckUI_IOKey.Caption = "檢測"
  COMM_TerminateSendByForce = False
  MainForm1.CheckUI_IOKey.Enabled = True
  MainForm1.Enable_CheckMethod
  MainForm1.cmdPic = " " '圖片中發送命令標志空
'  MainForm1.selectstioCombo.Text = 1
'  MainForm1.DisplayStioName.Text = StioName(1)
End If

End Sub

Public Sub COMM_AddCMd(cmd As Byte, station As Integer)
Dim count As Integer '添加消息隊列
Dim I As Integer

count = UBound(COMM_CMDGroup)


ReDim Preserve COMM_CMDGroup(count + 1)
COMM_CMDGroup(count + 1).cmd = cmd
COMM_CMDGroup(count + 1).station = station
COMM_CMDGroup(count + 1).BeenUsedFlag = False
'若當前無命令發送,則發送新命令

count = UBound(COMM_CMDGroup)
Put #1, , "FUN_comm_addcmd: cmd: " & Hex(cmd) & " and station:= " & station & vbCr & vbLf
If count > 1 Then
   For I = 1 To count
   Put #1, , "FUN_comm_addcmd:per  cmd: " & Hex(COMM_CMDGroup(I).cmd) & " and station:= " & COMM_CMDGroup(I).station & "--Boolean:=" & COMM_CMDGroup(I).BeenUsedFlag & "---" & I & vbCr & vbLf
   Next I
End If

If COMM_CMDGroup(1).BeenUsedFlag = False Then COMM_CheckMessageAndPack

End Sub
Private Sub COMM_CheckMessageAndPack() 'outPackData() As Byte)
Dim count As Integer, cmd As Byte, station As Integer, dat() As Byte
Dim I, J As Integer
count = UBound(COMM_CMDGroup)

'If count <> 0 Then '有消息
  
 '  If COMM_CMDGroup(1).BeenUsedFlag = True Then
   '若命令已經用過,則從消息隊列中刪去
  '    For I = 1 To count - 1
  '     COMM_CMDGroup(I) = COMM_CMDGroup(I + 1)
  '    Next I
  '   ReDim Preserve COMM_CMDGroup(count - 1)
  ' End If
'End If
' count = UBound(COMM_CMDGroup)
 If count <> 0 And COMM_CMDGroup(1).BeenUsedFlag = False Then '有消息
    cmd = COMM_CMDGroup(1).cmd: station = COMM_CMDGroup(1).station
    COMM_CMDGroup(1).BeenUsedFlag = True
    
    Dim cmdstr As String
    Static num As Integer
   
   Select Case cmd
    Case UP_UI: cmdstr = "采集電壓電流,狀態信息": num = 0
    Case UP_TIME: cmdstr = "上傳時間": num = 0
    Case UP_HISRECORD: cmdstr = "上傳歷史記錄": num = 0
    Case DOWN_STDTIME: cmdstr = "下傳標準時間"
                       If num = 0 Then SED_SetPCSysTime    '設置系統時間
                       num = num + 1
    Case DOWN_IO: cmdstr = "控制開關燈": num = 0
    Case DOWN_OCTIME: cmdstr = "下傳開關燈時間": num = 0
   End Select
    
   '///////////
   '站點,圖片顯示
   '發送CAN 總線命令時,地址為10號機
     If station > 0 And station <= StioNum Then
      MainForm1.selectstioCombo.Text = station
      MainForm1.DisplayStioName.Text = StioName(station)
      '站點畫面更新
     ' If MainForm1.selectcheckmode(0).Value = False Then
        MainForm1.stationPic.Caption = StioName(station)
        MainForm1.cmdPic.Caption = cmdstr
        module2_ChangeStationPic station
      'endif
     ElseIf station = 50 Then 'CAN地址 50號端口
      MainForm1.selectstioCombo.Text = 1
      MainForm1.DisplayStioName.Text = StioName(1)
      module2_ChangeStationPic 1
      MainForm1.stationPic.Caption = StioName(1)
      MainForm1.cmdPic.Caption = "修改波特率 "
    End If
   '/'''''''''''
    
     
     Put #1, , "FUN_comm_checkmessageandpack: cmd: " & Hex(cmd) & " and station:= " & station & vbCr & vbLf
   
     SED_GetDataFromDataBase station, cmd, dat
     
     COMM_CurDestADDR = COMM_MachineADDR(station - 1)
       
     COMM_PacketData cmd, COMM_CurDestADDR, dat, COMM_SendPacket
  
     COMM_StartSendData
     
  End If

End Sub
Public Sub COMM_DelCMD(cmd As Byte, station As Integer)
'刪除命令,從而中斷發送
  Dim count, K As Integer, Pos As Integer
  Pos = 0
  count = UBound(COMM_CMDGroup)
  For K = 1 To count
   If COMM_CMDGroup(K).cmd = cmd And COMM_CMDGroup(K).station = station Then Pos = K: Exit For
  Next K
  If Pos <> 0 Then
  Put #1, , "FUN_comm_delcmd: cmd: " & Hex(cmd) & " and station:= " & station & vbCr & vbLf
    For K = Pos To count - 1
     COMM_CMDGroup(K) = COMM_CMDGroup(K + 1)
    Next K
    ReDim Preserve COMM_CMDGroup(count - 1)
  End If
  
  
End Sub
Public Function COMM_IsMessageGroupEmpty() As Boolean
Dim count As Integer

count = UBound(COMM_CMDGroup)

If count = 0 Then
  COMM_IsMessageGroupEmpty = True
'ElseIf count = 1 And COMM_CMDGroup(1).BeenUsedFlag = True Then
'  ReDim Preserve COMM_CMDGroup(0)
'  COMM_IsMessageGroupEmpty = True
Else
  COMM_IsMessageGroupEmpty = False
End If
End Function
Public Sub COMM_GetCurProcessCMd(out_cmd As Integer, out_station As Integer)
Dim count As Integer
count = UBound(COMM_CMDGroup)
If count = 0 Then
   out_cmd = 0: out_station = 0
Else
   out_cmd = COMM_CMDGroup(1).cmd: out_station = COMM_CMDGroup(1).station
End If
 
End Sub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
三级不卡在线观看| 国产**成人网毛片九色| 久久久久国产精品厨房| 欧美日韩一区二区三区视频| 国产一区二区三区香蕉| 亚洲国产成人va在线观看天堂| 亚洲精品一区二区三区99| 欧美三级电影网站| av综合在线播放| 九九**精品视频免费播放| 亚洲激情图片一区| 国产婷婷色一区二区三区四区| 欧美精品精品一区| 色婷婷国产精品久久包臀| 国产精品亚洲а∨天堂免在线| 日韩精品一区第一页| 亚洲精品视频在线观看免费| 日本一区二区免费在线观看视频| 日韩一区二区视频| 欧美日韩视频在线第一区| 91激情五月电影| 99精品欧美一区二区三区小说| 国内一区二区视频| 另类专区欧美蜜桃臀第一页| 婷婷综合另类小说色区| 亚洲制服丝袜av| 亚洲天堂免费在线观看视频| 中文字幕av一区二区三区高| 精品国产一二三区| 日韩一区二区免费在线观看| 欧美日韩aaa| 欧美日韩国产一级片| 91久久精品一区二区三区| fc2成人免费人成在线观看播放| 精品亚洲免费视频| 激情久久五月天| 激情久久五月天| 韩国视频一区二区| 激情图片小说一区| 国产精品综合一区二区| 国内精品不卡在线| 精品一区二区三区免费视频| 丝袜美腿高跟呻吟高潮一区| 午夜久久久久久久久| 亚洲国产精品一区二区尤物区| 亚洲综合色视频| 亚洲资源中文字幕| 调教+趴+乳夹+国产+精品| 视频在线观看一区| 日本成人在线视频网站| 日本vs亚洲vs韩国一区三区 | 国产精品1024| 国产一区激情在线| 成人精品gif动图一区| 99综合影院在线| 色哟哟一区二区在线观看| 欧美吞精做爰啪啪高潮| 欧美人妖巨大在线| 日韩欧美国产午夜精品| 久久久国际精品| 亚洲欧美日韩一区| 亚洲va欧美va人人爽| 蜜臀av亚洲一区中文字幕| 精品一区二区三区在线观看国产| 国产成人精品影视| 91视频国产观看| 欧美日本韩国一区二区三区视频| 日韩一本二本av| 中文一区在线播放| 依依成人精品视频| 丝袜诱惑制服诱惑色一区在线观看| 麻豆精品一二三| 成人av动漫在线| 欧美日韩精品二区第二页| 精品久久久久久久久久久院品网| 国产精品伦理在线| 亚洲国产精品久久不卡毛片| 精品在线一区二区三区| 不卡一区二区在线| 欧美日韩1区2区| 欧美激情综合五月色丁香| 一区二区三区精密机械公司| 日本伊人色综合网| 国产99精品在线观看| 欧美亚洲日本一区| 久久亚洲影视婷婷| 一区二区三区成人| 国产一区二区三区久久悠悠色av| 99国产精品久| 欧美电影免费观看高清完整版| 国产女人aaa级久久久级| 亚洲一区二区综合| 成人亚洲一区二区一| 91精品久久久久久久久99蜜臂| 国产夜色精品一区二区av| 亚洲制服丝袜av| 顶级嫩模精品视频在线看| 欧美老女人第四色| 亚洲欧洲美洲综合色网| 毛片基地黄久久久久久天堂| 91麻豆免费观看| 久久久亚洲精华液精华液精华液| 亚洲自拍另类综合| 成人天堂资源www在线| 日韩三级中文字幕| 一区二区激情视频| 成人爽a毛片一区二区免费| 欧美一级二级三级乱码| 亚洲最新视频在线观看| 国产91精品欧美| 日韩美一区二区三区| 亚洲成年人网站在线观看| 成年人国产精品| 国产亚洲人成网站| 激情图区综合网| 欧美一区二区三区不卡| 亚洲综合久久久久| 99久久久久久99| 国产精品日日摸夜夜摸av| 精品无人码麻豆乱码1区2区 | 日韩欧美国产电影| 亚洲成人综合网站| 97久久精品人人澡人人爽| 中文字幕第一页久久| 激情欧美一区二区三区在线观看| 制服丝袜成人动漫| 肉色丝袜一区二区| 91精品蜜臀在线一区尤物| 午夜影视日本亚洲欧洲精品| 欧美影院一区二区三区| 亚洲乱码国产乱码精品精的特点 | 欧美精品丝袜中出| 亚洲一区二区欧美激情| 日本乱码高清不卡字幕| 一区二区三区色| 在线亚洲欧美专区二区| 亚洲一区二区三区四区在线观看 | 国产精品久久久久久久久免费丝袜 | 看电视剧不卡顿的网站| 91精品一区二区三区在线观看| 亚洲韩国精品一区| 欧美日韩国产另类一区| 日韩 欧美一区二区三区| 欧美一区二区三区的| 久久电影网电视剧免费观看| 精品国一区二区三区| 国内精品久久久久影院色| 久久久www成人免费毛片麻豆 | 精品国产乱码久久久久久夜甘婷婷 | 一区二区三区四区在线免费观看| 波多野结衣精品在线| 136国产福利精品导航| 色综合天天做天天爱| 亚洲精品乱码久久久久久久久| 欧美在线视频日韩| 日本午夜精品一区二区三区电影| 日韩欧美中文字幕制服| 韩国女主播一区| 日本一区二区三区四区| 91福利精品第一导航| 日韩影院在线观看| 久久久久久综合| 色婷婷av一区二区三区软件| 亚洲va韩国va欧美va精品| 精品国产乱码久久久久久图片| 国产成人精品免费一区二区| 综合久久给合久久狠狠狠97色 | 激情丁香综合五月| 欧美激情一区二区三区全黄| 99r精品视频| 日韩激情视频在线观看| 国产日韩欧美制服另类| 在线精品视频小说1| 麻豆国产精品官网| 成人免费在线视频| 欧美一区二区三区人| 成人性生交大片免费| 亚洲国产视频a| 久久精品人人做人人爽97| 欧洲日韩一区二区三区| 精品中文字幕一区二区小辣椒| 中文字幕一区二区三区av| 欧美精品欧美精品系列| 床上的激情91.| 日韩av不卡在线观看| 自拍偷自拍亚洲精品播放| 91精品国产综合久久精品 | 日韩一区二区三区四区五区六区| 国产成人综合在线观看| 亚洲成人自拍一区| 国产亚洲人成网站| 911精品产国品一二三产区| 国产a区久久久| 日本在线不卡一区| 亚洲精品视频一区二区| 2021久久国产精品不只是精品| 在线免费观看视频一区| 高清av一区二区| 美国毛片一区二区三区| 亚洲一区二区在线播放相泽|