⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mod.bas

📁 串口调试相关源码
💻 BAS
📖 第 1 页 / 共 2 页
字号:
       d3 = &H30
       d4 = CInt(Mid(CStr(Month(Date)), 1, 1)) + &H30
    Else
       d3 = CInt(Mid(CStr(Month(Date)), 1, 1)) + &H30
       d4 = CInt(Mid(CStr(Month(Date)), 2, 1)) + &H30
    End If
    '日
    If Len(CStr(Day(Date))) < 2 Then
       d5 = &H30
       d6 = CInt(Mid(CStr(Day(Date)), 1, 1)) + &H30
    Else
       d5 = CInt(Mid(CStr(Day(Date)), 1, 1)) + &H30
       d6 = CInt(Mid(CStr(Day(Date)), 2, 1)) + &H30
    End If
    '周
    d7 = CInt(Weekday(Data)) - 1 + &H30
    '时
    If Len(CStr(Hour(Time))) < 2 Then
       d8 = &H30
       d9 = CInt(Mid(CStr(Hour(Time)), 1, 1)) + &H30
    Else
       d8 = CInt(Mid(CStr(Hour(Time)), 1, 1)) + &H30
       d9 = CInt(Mid(CStr(Hour(Time)), 2, 1)) + &H30
    End If
    '分
    If Len(CStr(Minute(Time))) < 2 Then
       d10 = &H30
       d11 = CInt(Mid(CStr(Minute(Time)), 1, 1)) + &H30
    Else
       d10 = CInt(Mid(CStr(Minute(Time)), 1, 1)) + &H30
       d11 = CInt(Mid(CStr(Minute(Time)), 2, 1)) + &H30
    End If
    '秒
    If Len(CStr(Second(Time))) < 2 Then
       d12 = &H30
       d13 = CInt(Mid(CStr(Second(Time)), 1, 1)) + &H30
    Else
       d12 = CInt(Mid(CStr(Second(Time)), 1, 1)) + &H30
       d13 = CInt(Mid(CStr(Second(Time)), 2, 1)) + &H30
    End If

    CHK = ((CInt(SOH) + e1 + e2 + e3 + CInt(FID) + d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9 + d10 + d11 + d12 + d13) Mod 256)

    CHK = Not CHK


    '对返回时间包RT_byte重组
    RT_byte(0) = SOH
    RT_byte(1) = e1
    RT_byte(2) = e2
    RT_byte(3) = e3
    RT_byte(4) = FID
    RT_byte(5) = d1
    RT_byte(6) = d2
    RT_byte(7) = d3
    RT_byte(8) = d4
    RT_byte(9) = d5
    RT_byte(10) = d6
    RT_byte(11) = d7
    RT_byte(12) = d8
    RT_byte(13) = d9
    RT_byte(14) = d10
    RT_byte(15) = d11
    RT_byte(16) = d12
    RT_byte(17) = d13
    RT_byte(18) = CHK
    '***************************************************************************************************
    '********* 送出返回时间
Form1.MSComm1(m_id).Output = RT_byte
aaa = RT_byte(7)
End Sub
Sub HD_opt()
    MsgBox "掉线"
    
   '需确定
    Form1.MSComm1(m_id).Output = "+++"
    Form1.MSComm1(m_id).Output = "ATH0" & vbCrLf

End Sub

Sub AK_opt()
    MsgBox "应答"
    
    RID = CStr(CLng(AK_byte(7)) + CLng(AK_byte(6)) * 256 + CLng(AK_byte(5)) * 65536)
    
End Sub

Sub RR_opt()
    MsgBox "查询成绩"
    '未确定
End Sub

Sub SR_opt()
    
    'MsgBox "上传成绩"
    
    Dim e1 As Byte
    Dim e2 As Byte
    Dim e3 As Byte
'***********************
'需要以后修改 现在先屏蔽掉(2004.06.10)
    'EID = CStr(CLng(SR_byte(3)) + CLng(SR_byte(2)) * 256 + CLng(SR_byte(1)) * 65536)
    'CID = CStr(CLng(SR_byte(9)) + CLng(SR_byte(8)) * 256 + CLng(SR_byte(7)) * 65536 + CLng(SR_byte(6)) * 16777216 + CLng(SR_byte(5)) * 4294967296#)
    'TIM = CStr(CInt(SR_byte(10)) * 256 + CInt(SR_byte(11))) + "-" + CStr(CInt(SR_byte(12))) + "-" + CStr(CInt(SR_byte(13))) + Space(1) + CStr(CInt(SR_byte(14))) + ":" + CStr(CInt(SR_byte(15))) + ":" + CStr(CInt(SR_byte(16))) + "." + CStr(CInt(SR_byte(17)))
'***********************
    
    '向归巢数据表中插入数据
    sql = "insert t_return  values ( '" & Trim(CID) & "'," & "'" & Trim(TIM) & "'," & "'" & Trim(EID) & "')"
'    cn.Execute (sql)
    
    '*************************
    '以下是对返回临时名次和速度等信息的封包
    '
    '*************************
    
    '********************
    '返回确认
    SOH = &HAB '包头ABH
    
    '把服务器的计算机名称转换成三个字节 在这个地方名称用8为数字做为名称但不大于256*256*256
    e1 = CLng(computername) \ 65536
    e2 = (CLng(computername) Mod 65536) \ 256
    e3 = (CLng(computername) Mod 65536) Mod 256

    FID = &H3 '功能编号为5 返回时间
    
    CHK = ((171 + CInt(e1) + CInt(e2) + CInt(e3) + 3) Mod 256)
    CHK = Not CHK
    
    CO_byte(0) = SOH
    CO_byte(1) = e1
    CO_byte(2) = e2
    CO_byte(3) = e3
    CO_byte(4) = FID
    CO_byte(5) = CHK

    '********************
    
    '********* 送出返回确认
    Form1.MSComm1(m_id).Output = CO_byte
End Sub

Sub SD_opt()
    'MsgBox "建档"
    
    Dim e1 As Byte
    Dim e2 As Byte
    Dim e3 As Byte

'***********************
'需要以后修改 现在先屏蔽掉(2004.06.10)
    'EID = CStr(CLng(SD_byte(3)) + CLng(SD_byte(2)) * 256 + CLng(SD_byte(1)) * 65536)
    'CID = CStr(CLng(SD_byte(9)) + CLng(SD_byte(8)) * 256 + CLng(SD_byte(7)) * 65536 + CLng(SD_byte(6)) * 16777216 + CLng(SD_byte(5)) * 4294967296#)
    'DID = Chr(SD_byte(14)) + Chr(SD_byte(13)) + Chr(SD_byte(12)) + Chr(SD_byte(11)) + Chr(SD_byte(10))
    'TIM = Date$ + Space(1) + Time$
'************************
    '向建档表中插入数据
    sql = "insert t_archives  values ( '" & Trim(CID) & "'," & "'" & Trim(DID) & "'," & "'" & Trim(EID) & "','" & Trim(TIM) & "')"
'    cn.Execute (sql)
    
    '****************************
    '以下是对返回确认的封包
    '
    '****************************
    '返回确认
    SOH = &HAB '包头ABH
    
    '把服务器的计算机名称转换成三个字节 在这个地方名称用8为数字做为名称但不大于256*256*256
    e1 = CLng(computername) \ 65536
    e2 = (CLng(computername) Mod 65536) \ 256
    e3 = (CLng(computername) Mod 65536) Mod 256

    FID = &H3 '功能编号为5 返回时间
    
    CHK = ((171 + CInt(e1) + CInt(e2) + CInt(e3) + 3) Mod 256)
    CHK = Not CHK
    
    CO_byte(0) = SOH
    CO_byte(1) = e1
    CO_byte(2) = e2
    CO_byte(3) = e3
    CO_byte(4) = FID
    CO_byte(5) = CHK

    '********************
  '****************************************************************************************************
'''''    FID = &H5 '功能编号为5 返回时间
''''''    TIM = Date$ + Space(1) + Time$
'''''    '得到日期和时间
'''''    d1 = CInt(Year(Date)) \ 256         '和d1组成年
'''''    d2 = CInt(Year(Date)) Mod 256
'''''    d3 = CInt(Month(Date))              '月
'''''    d4 = CInt(Day(Date))                '日
'''''    d5 = 32                             '一个空格
'''''    d6 = CInt(Hour(Time))               '小时
'''''    d7 = CInt(Minute(Time))             '分钟
'''''    d8 = CInt(Second(Time))             '秒
'''''
'''''    CHK = ((CInt(SOH) + e1 + e2 + e3 + CInt(FID) + d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8) Mod 256)
'''''
'''''    CHK = Not CHK
'''''    '对返回时间包RT_byte重组
'''''    RT_byte(0) = SOH
'''''    RT_byte(1) = e1
'''''    RT_byte(2) = e2
'''''    RT_byte(3) = e3
'''''    RT_byte(4) = FID
'''''    RT_byte(5) = d1
'''''    RT_byte(6) = d2
'''''    RT_byte(7) = d3
'''''    RT_byte(8) = d4
'''''    RT_byte(9) = d5
'''''    RT_byte(10) = d6
'''''    RT_byte(11) = d7
'''''    RT_byte(12) = d8
'''''    RT_byte(13) = CHK
    '***************************************************************************************************
    '********* 送出返回时间
    Form1.MSComm1(m_id).Output = CO_byte
    
End Sub





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -