📄 module1.bas
字号:
Frm_Main.T_GsmInit = True
Do While (Not GsmInitCmd_ResWaitSuc)
DoEvents
Loop
Frm_Main.T_GsmInit = False
GsmInitCmd_ResWaitSuc = False
If GsmInitCmd_ProcessOver = True Then
'Call CommonClearRev
Gsm_CommonRev_Way = "gsmnone"
GsmInitCmd_ProcessOver = False
'Gsm_MesInit = False
Call FlashMessage("通信模块初始化失败")
GsmInitCmd_proloc = False
Exit Sub
End If
'Call CommonClearRev
'Gsm_CommonRev_Way = "gsmnone"
Call FlashMessage("通信模块初始化成功")
GsmInitCmd_proloc = False
End If
End Sub
Public Sub Gsm_CommonRev()
Static Gsm_CommonRev_proloc As Boolean
If Not Gsm_CommonRev_proloc Then
'Frm_Main.MSComm1.RThreshold = 0
Gsm_CommonRev_proloc = True
Do While (Frm_Main.MSComm1.InBufferCount > 0)
DoEvents
CommonRev_Data = Frm_Main.MSComm1.Input
TempRevHex = TempRevHex & AscToHex(CInt(CommonRev_Data(0))) & " "
TempRevAsc = TempRevAsc & Chr(CInt(CommonRev_Data(0))) & " "
If Not Gsm_CommonRev_Stop Then
'命令头判断
If Not Gsm_CommonRev_Head_Start And CommonRev_Data(0) = 13 Then
Gsm_CommonRev_Head_Start = True
ElseIf Not Gsm_CommonRev_Head And Gsm_CommonRev_Head_Start And CommonRev_Data(0) = 10 Then
Gsm_CommonRev_Head = True
Gsm_CommonRev_Cmd_Head = True
ElseIf Gsm_CommonRev_Cmd_Head Then
If CommonRev_Data(0) = 43 Then '+
Gsm_CommonRev_Cmd_Start = True
Gsm_CommonRev_Cmd = ""
Gsm_CommonRev_Cmd_Head = False
ElseIf CommonRev_Data(0) = 79 Then 'O
Gsm_CommonRev_End_Start = True
Gsm_CommonRev_Result = ""
Gsm_CommonRev_Cmd_Head = False
ElseIf CommonRev_Data(0) = 69 Then 'E
Gsm_CommonRev_End_Start = True
Gsm_CommonRev_Result = ""
Gsm_CommonRev_Cmd_Head = False
ElseIf CommonRev_Data(0) = 82 Then 'R
Gsm_CommonRev_End_Start = True
Gsm_CommonRev_Result = ""
Gsm_CommonRev_Cmd_Head = False
ElseIf CommonRev_Data(0) = 62 Then '>
If Gsm_CommonRev_Way = "Gsm_MesSenCmd" Then
Gsm_CommonRev_Way = "gsmnone"
GSM_Cmd_ResWaitSuc = True
Gsm_CommonRev_Cmd_Head = False
Call Gsm_Rev_EndCode
End If
ElseIf CommonRev_Data(0) = 13 Then
Gsm_CommonRev_Head = False
Gsm_CommonRev_Cmd_Head = False
Else
Gsm_CommonRev_Head_Start = False
Gsm_CommonRev_Head = False
Gsm_CommonRev_Cmd_Head = False
End If
End If
'命令头判断
If Gsm_CommonRev_Cmd_Start And CommonRev_Data(0) <> 58 Then
Gsm_CommonRev_Cmd = Gsm_CommonRev_Cmd & Chr(CommonRev_Data(0))
Gsm_CommonRev_Cross_Judge = False
ElseIf Gsm_CommonRev_Cmd_Start And CommonRev_Data(0) = 58 Then
Gsm_CommonRev_Cmd_Start = False
Gsm_CommonRev_Cmd_End = True
Gsm_CommonRev_Cross_Judge = False
ElseIf Gsm_CommonRev_Cmd_End Then
Call Gsm_Rev_Cmd_Deal
Gsm_CommonRev_Cross_Judge = False
End If
If Gsm_CommonRev_End_Start And CommonRev_Data(0) <> 13 Then
Gsm_CommonRev_Result = Gsm_CommonRev_Result & Chr(CommonRev_Data(0))
Gsm_CommonRev_Cross_Judge = False
ElseIf Gsm_CommonRev_End_Start And CommonRev_Data(0) = 13 Then
Gsm_CommonRev_End = True
Gsm_CommonRev_End_Start = False
Gsm_CommonRev_Cross_Judge = False
ElseIf Gsm_CommonRev_End Then
Gsm_CommonRev_Cross_Judge = False
Call Gsm_Rev_Result_Deal
End If
End If
If Gsm_CommonRev_Cross_Judge Then
Call Gsm_CommonRev_Bef
End If
Loop
If Not Gsm_CommonRev_Cross_Judge Then
If Gsm_CommonRev_Head_Start Then
Gsm_CommonRev_Cross_Judge = True
Gsm_CommonRev_Cmd_Start_Bef = Gsm_CommonRev_Cmd_Start
Gsm_CommonRev_End_Start_Bef = Gsm_CommonRev_End_Start
Gsm_CommonRev_Head_Start_Bef = Gsm_CommonRev_Head_Start
Gsm_CommonRev_Head_Bef = Gsm_CommonRev_Head
Gsm_CommonRev_Cmd_End_Bef = Gsm_CommonRev_Cmd_End
Gsm_CommonRev_End_Bef = Gsm_CommonRev_End
Gsm_CommonRev_Cmd_Head_Bef = Gsm_CommonRev_Cmd_Head
End If
End If
Gsm_CommonRev_Stop = False
Gsm_CommonRev_Cmd_Start = False
Gsm_CommonRev_End_Start = False
Gsm_CommonRev_Head_Start = False
Gsm_CommonRev_Head = False
Gsm_CommonRev_Cmd_End = False
Gsm_CommonRev_End = False
Gsm_CommonRev_Cmd_Head = False
Gsm_CommonRev_proloc = False
Call ComDisPlay(CommonRev_Data(0))
If RevArray > 0 Then
Call GsmMesSend
End If
End If
End Sub
Private Sub Gsm_CommonRev_Bef()
If Not Gsm_CommonRev_Head_Start_Bef And CommonRev_Data(0) = 13 Then
Gsm_CommonRev_Head_Start_Bef = True
ElseIf Not Gsm_CommonRev_Head_Bef And Gsm_CommonRev_Head_Start_Bef And CommonRev_Data(0) = 10 Then
Gsm_CommonRev_Head_Bef = True
Gsm_CommonRev_Cmd_Head_Bef = True
ElseIf Gsm_CommonRev_Cmd_Head_Bef Then
If CommonRev_Data(0) = 43 Then '+
Gsm_CommonRev_Cmd_Start_Bef = True
Gsm_CommonRev_Cmd = ""
Gsm_CommonRev_Cmd_Head_Bef = False
ElseIf CommonRev_Data(0) = 79 Then 'O
Gsm_CommonRev_End_Start_Bef = True
Gsm_CommonRev_Result = ""
Gsm_CommonRev_Cmd_Head_Bef = False
ElseIf CommonRev_Data(0) = 69 Then 'E
Gsm_CommonRev_End_Start_Bef = True
Gsm_CommonRev_Result = ""
Gsm_CommonRev_Cmd_Head_Bef = False
ElseIf CommonRev_Data(0) = 82 Then 'R
Gsm_CommonRev_End_Start_Bef = True
Gsm_CommonRev_Result = ""
Gsm_CommonRev_Cmd_Head_Bef = False
ElseIf CommonRev_Data(0) = 62 Then '>
If Gsm_CommonRev_Way = "Gsm_MesSenCmd" Then
GSM_Cmd_ResWaitSuc = True
Gsm_CommonRev_Way = "gsmnone"
Call Gsm_Rev_EndCode
Gsm_CommonRev_Cmd_Head_Bef = False
End If
ElseIf CommonRev_Data(0) = 13 Then
Gsm_CommonRev_Head_Bef = False
Gsm_CommonRev_Cmd_Head_Bef = False
Else
Gsm_CommonRev_Head_Start_Bef = False
Gsm_CommonRev_Head_Bef = False
Gsm_CommonRev_Cmd_Head_Bef = False
End If
End If
If Gsm_CommonRev_Cmd_Start_Bef And CommonRev_Data(0) <> 58 Then
Gsm_CommonRev_Stop = True
Gsm_CommonRev_Cmd = Gsm_CommonRev_Cmd & Chr(CommonRev_Data(0))
ElseIf Gsm_CommonRev_Cmd_Start_Bef And CommonRev_Data(0) = 58 Then
Gsm_CommonRev_Cmd_Start_Bef = False
Gsm_CommonRev_Cmd_End_Bef = True
Gsm_CommonRev_Stop = True
ElseIf Gsm_CommonRev_Cmd_End_Bef Then
Gsm_CommonRev_Stop = True
Call Gsm_Rev_Cmd_Deal
End If
If Gsm_CommonRev_End_Start_Bef And CommonRev_Data(0) <> 13 Then
Gsm_CommonRev_Stop = True
Gsm_CommonRev_Result = Gsm_CommonRev_Result & Chr(CommonRev_Data(0))
ElseIf Gsm_CommonRev_End_Start_Bef And CommonRev_Data(0) = 13 Then
Gsm_CommonRev_End_Bef = True
Gsm_CommonRev_End_Start_Bef = False
Gsm_CommonRev_Stop = True
ElseIf Gsm_CommonRev_End_Bef Then
Call Gsm_Rev_Result_Deal
Gsm_CommonRev_Stop = True
End If
End Sub
Private Sub Gsm_Rev_Cmd_Deal()
'If Gsm_CommonRev_Cmd_End_Bef Or Gsm_CommonRev_End_Bef Then
'
' Gsm_CommonRev_Stop = True
'Else
'
' Gsm_CommonRev_Cross_Judge = False
'End If
Select Case Gsm_CommonRev_Cmd
Case "+COPS"
Call Gsm_Rev_EndCode
Case "+CREG"
Call Gsm_Rev_EndCode
Case "+CSQ"
Call Gsm_Rev_EndCode
Case "+CSMS"
GsmInitCmd_ResWaitSuc = True
Call Gsm_Rev_EndCode
Case "+CPMS"
Call Gsm_Rev_EndCode
Case "+CMGL"
Call Gsm_Rev_EndCode
Case "+CMTI"
If Not Gsm_RevData_LenDStart And CommonRev_Data(0) = 44 Then
Gsm_RevData_LenStr = ""
Gsm_RevData_LenDStart = True
ElseIf Gsm_RevData_LenDStart And Not Gsm_RevData_LenDEnd And CommonRev_Data(0) > 47 And CommonRev_Data(0) < 58 Then
Gsm_RevData_LenStr = Gsm_RevData_LenStr & Chr(CommonRev_Data(0))
ElseIf Gsm_RevData_LenDStart And Not Gsm_RevData_LenDEnd And CommonRev_Data(0) = 10 Then
Gsm_RevData_LenDStart = False
Gsm_RevData_LenDEnd = False
Call Gsm_Rev_EndCode
Frm_Main.MSComm1.Output = "AT+CMGR=" & Val(Gsm_RevData_LenStr) & Chr(13)
End If
Case "+CMT"
If Not Gsm_RevData_LenDStart And CommonRev_Data(0) = 44 Then
Gsm_RevData_LenStr = ""
Gsm_RevData_LenDStart = True
ElseIf Gsm_RevData_LenDStart And Not Gsm_RevData_LenDEnd And CommonRev_Data(0) <> 13 Then
Gsm_RevData_LenStr = Gsm_RevData_LenStr & Chr(CommonRev_Data(0))
ElseIf Gsm_RevData_LenDStart And Not Gsm_RevData_LenDEnd And CommonRev_Data(0) = 13 Then
Gsm_RevData_LenDEnd = True
Gsm_RevData_LenCount = Val(Gsm_RevData_LenStr)
End If
If Gsm_RevData_LenDEnd And CommonRev_Data(0) <> 13 And CommonRev_Data(0) <> 10 And Not Gsm_RevData_LenSCA_Start Then
Gsm_RevData_LenStr = Chr(CommonRev_Data(0))
Gsm_RevData_LenSCA_Start = True
ElseIf Gsm_RevData_LenDEnd And Gsm_RevData_LenSCA_Start And Not Gsm_RevData_LenSCA_End Then
Gsm_RevData_LenStr = Gsm_RevData_LenStr & Chr(CommonRev_Data(0))
Gsm_RevData_LenSCA_End = True
Gsm_RevData_LenCount = (Gsm_RevData_LenCount + Val(Gsm_RevData_LenStr)) * 2
ElseIf Gsm_RevData_LenSCA_End And Gsm_RevData_LenCount Then
Gsm_RevData_LenStr = Gsm_RevData_LenStr & Chr(CommonRev_Data(0))
Gsm_RevData_LenCount = Gsm_RevData_LenCount - 1
ElseIf Not Gsm_RevData_LenCount And Gsm_RevData_LenSCA_End Then
If CommonRev_Data(0) = 13 Then
RevArray = RevArray + 1
Gsm_RevData_LenDStart = False
Gsm_RevData_LenDEnd = False
Gsm_RevData_LenSCA_End = False
Gsm_RevData_LenSCA_Start = False
Call Gsm_Rev_EndCode
' Gsm_CommonRev_Head_Start = True
' Gsm_CommonRev_Head_Start_Bef = True
Call GsmRevMessage(Gsm_RevData_LenStr)
Else
Call Gsm_Rev_EndCode
End If
End If
Case "+CBM"
Call Gsm_Rev_EndCode
Case "+CMGR"
If Not Gsm_RevData_LenDStart And CommonRev_Data(0) = 44 Then
Gsm_RevData_LenStr = ""
Gsm_RevData_LenDStart = True
ElseIf Gsm_RevData_LenDStart And Not Gsm_RevData_LenDEnd And CommonRev_Data(0) <> 13 Then
If CommonRev_Data(0) = 44 Then
Gsm_RevData_LenStr = ""
Else
Gsm_RevData_LenStr = Gsm_RevData_LenStr & Chr(CommonRev_Data(0))
End If
ElseIf Gsm_RevData_LenDStart And Not Gsm_RevData_LenDEnd And CommonRev_Data(0) = 13 Then
Gsm_RevData_LenDEnd = True
Gsm_RevData_LenCount = Val(Gsm_RevData_LenStr)
End If
If Gsm_RevData_LenDEnd And CommonRev_Data(0) <> 13 And CommonRev_Data(0) <> 10 And Not Gsm_RevData_LenSCA_Start Then
Gsm_RevData_LenStr = Chr(CommonRev_Data(0))
Gsm_RevData_LenSCA_Start = True
ElseIf Gsm_RevData_LenDEnd And Gsm_RevData_LenSCA_Start And Not Gsm_RevData_LenSCA_End Then
Gsm_RevData_LenStr = Gsm_RevData_LenStr & Chr(CommonRev_Data(0))
Gsm_RevData_LenSCA_End = True
Gsm_RevData_LenCount = (Gsm_RevData_LenCount + Val(Gsm_RevData_LenStr)) * 2
ElseIf Gsm_RevData_LenSCA_End And Gsm_RevData_LenCount Then
Gsm_RevData_LenStr = Gsm_RevData_LenStr & Chr(CommonRev_Data(0))
Gsm_RevData_LenCount = Gsm_RevData_LenCount - 1
ElseIf Not Gsm_RevData_LenCount And Gsm_RevData_LenSCA_End Then
If CommonRev_Data(0) = 13 Then
RevArray = RevArray + 1
Gsm_RevData_LenDStart = False
Gsm_RevData_LenDEnd = False
Gsm_RevData_LenSCA_End = False
Gsm_RevData_LenSCA_Start = False
Call Gsm_Rev_EndCode
' Gsm_CommonRev_Head_Start = True
' Gsm_CommonRev_Head_Start_Bef = True
Call GsmRevMessage(Gsm_RevData_LenStr)
Else
Call Gsm_Rev_EndCode
End If
End If
Case "+CMGS"
Gsm_CommonRev_Way = "
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -