freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

公交車(chē)管理系統(tǒng)上位機(jī)設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁(yè)

2025-09-04 15:04本頁(yè)面

【導(dǎo)讀】本文介紹了公交車(chē)管理系統(tǒng)上位機(jī)硬件和軟件的設(shè)計(jì)。該系統(tǒng)利用GSM收發(fā)模塊、GSM通信網(wǎng)絡(luò)、VisualBasic語(yǔ)言編程和微控制技術(shù),通過(guò)串口RS-232C與上位機(jī)通信并建立GSM通信網(wǎng)絡(luò)的數(shù)據(jù)通道,以短消息作為數(shù)據(jù)傳輸方式,開(kāi)發(fā)出基于GSM-SMS的控制系統(tǒng)。采用上位機(jī)較為友好的人機(jī)界面,用集成化的管理理念,對(duì)信息屏終端通過(guò)GSM模塊進(jìn)行遠(yuǎn)程管理,具有費(fèi)用低廉,不受距離遠(yuǎn)近和地勢(shì)起伏的限制,方便可靠,靈活快捷的特點(diǎn),且用VB語(yǔ)言編程具有較友好的用戶(hù)操作界面,易學(xué)易用。本品用以VisualBasic匯編語(yǔ)言為基礎(chǔ)編寫(xiě)發(fā)送界面的軟件的上位機(jī)(PC機(jī)),實(shí)現(xiàn)從GSM模塊提取由公交車(chē)發(fā)送的位置信息,進(jìn)行處理后再由GSM. GSM網(wǎng)絡(luò)主要提供語(yǔ)音、短消息、數(shù)據(jù)等多種業(yè)務(wù)。在很多監(jiān)控領(lǐng)域,各種監(jiān)控設(shè)備大多還是有線(xiàn)方式傳輸,當(dāng)距離遙遠(yuǎn)時(shí),有線(xiàn)方式監(jiān)控設(shè)備的安裝、維護(hù)非常不方便,因?yàn)楸O(jiān)控端遠(yuǎn)離采集端,鋪設(shè)電纜的投入是巨大的。通過(guò)無(wú)線(xiàn)方式來(lái)交換數(shù)據(jù),則可以有效地避免這些問(wèn)題。

  

【正文】 nU 0 Then For n = 1 To nU If lenpc 0 Then = obj_ArySMSList(n).SourceNo = Format(obj_ArySMSList(n).ReachDate, YYYYMMDD) amp。 amp。 Format(obj_ArySMSList(n).ReachTime, HH:MM:SS) amp。 vbCrLf = obj_ArySMSList(n).SmsMain End If Next n End IfEnd SubPrivate Sub Timer1_Timer() = ScanTaskAEnd SubPrivate Function ScanTaskA() As Boolean Dim nTmp As Long Dim i_ScanPtr As Integer Dim ary_nCommandFlag(0 To 31) As Long For i = 0 To 15 ary_nCommandFlag(i) = 2 ^ (15 i) Next iOn Error Resume NextContinueScan: 39。======= 取出命令標(biāo)志數(shù)組 ======= nTmp = ary_nCommandFlag(i_ScanPtr) 39。======= 察看標(biāo)志是否等于1 ======= If (n_TaskWord And nTmp) 0 Then 39。 如果有任務(wù)存在,則準(zhǔn)備執(zhí)行之,任務(wù)執(zhí)行的條件是串口打開(kāi),而且沒(méi)有正在進(jìn)行的接收任務(wù) If = True Then 39。 將任務(wù)命令下發(fā) = ary_strTask(i_ScanPtr) Else 39。 如果執(zhí)行的條件不滿(mǎn)足,則保留權(quán)利,等待下次會(huì)話(huà) ScanTaskA = True Exit Function End If 39。 如果程序能夠執(zhí)行到此處,說(shuō)明該任務(wù)已經(jīng)完成那么將該任務(wù)的標(biāo)志刪除 n_TaskWord = (n_TaskWord And (Not nTmp)) 39。因?yàn)橐粋€(gè)會(huì)話(huà)只能執(zhí)行一個(gè)任務(wù),因此掃描指針回零,退出當(dāng)前會(huì)話(huà),等待下次會(huì)話(huà),重新掃描 i_ScanPtr = 0 ScanTaskA = True Exit Function End If 39。======= 沒(méi)有捕獲任務(wù),將掃描指針前移一個(gè)位置 ======= i_ScanPtr = i_ScanPtr + 1 39。 如果掃描了整個(gè)隊(duì)列也沒(méi)有發(fā)現(xiàn)任務(wù) If i_ScanPtr = 16 Then 39。 結(jié)束掃描,等待外部觸發(fā) i_ScanPtr = 0 ScanTaskA = False Else 39。 否則的話(huà),繼續(xù)掃描 GoTo ContinueScan End IfEnd Function39。退出程序,關(guān)閉串口Private Sub Cmdquit_Click() Unload MeEnd SubPrivate Sub Form_Unload(Cancel As Integer) = FalseEnd Sub39。********************串口通信模塊程序*********************Option ExplicitPublic g_blIsListSMS As BooleanPublic g_blIsSysBusy As BooleanPublic g_blIsWaiting As BooleanPublic g_blIsNewSMSIn As BooleanPublic g_blIsSendingSMS As BooleanPublic g_blIsHexCommData As BooleanPublic g_blMaySaveAllSMS As BooleanPublic g_blwav As BooleanPublic g_strSave As StringPublic g_strThisAT As StringPublic g_strLastAT As StringPublic g_strLatestAT As StringPublic n_CountListSMS As LongPublic g_SysInfo As SysStructPublic TheForm As FormPublic TheMenu As MenuPublic Declare Sub Sleep Lib kernel32 (ByVal dwMilliseconds As Long) 39。VB延時(shí)API函數(shù)Public Declare Sub winhelp Lib user32 (ByVal hWnd As Long, ByVal lphelpfile As String, ByVal wmand As Long, ByVal dwData As Long) 39。調(diào)用幫助API函數(shù)Public Declare Function htmlHelp Lib Alias HtmlHelpA (ByVal hwndCaller As Long, ByVal pszFile As String, ByVal uCommand As Long, ByVal dwData As Long) As LongPublic Const HH_DISPLAY_INDEX = 2Public Const HH_DISPLAY_TOC = 1Public Const HH_DISPLAY_TOPIC = 0Type SysStruct CommPort As Integer Baud As String ServiceNo As String DestNo As String SMSMelody As Integer Clock As Boolean ClockSet As StringEnd TypeType SMSDef ListOrRead As Boolean 39。是否用列舉(List)方法讀取 SmsIndex As Long SourceNo As String ReachDate As String ReachTime As String SmsMain As StringEnd Type39。功能:解析串口中AT命令返回的信息39。輸入?yún)?shù): 串口數(shù)據(jù)39。輸出參數(shù):39。strATData: 短消息內(nèi)容(UD)39。iSMSIdx: 短消息序號(hào)39。strSMSTime: 短消息接收時(shí)間39。strSMSSourceNO:源SIM卡號(hào)39。strSMSStatus: 短消息狀態(tài):READ—已讀,UNREAD—未讀,SENT—發(fā)送,UNSENT—未發(fā)送Public Function GetDataFromCommPort(ByVal strInput As String, strATData As String, Optional CommandStatus As String, Optional TimedOut As Boolean, Optional iSMSIdx As Integer, Optional strSMSTime As String, Optional strSMSSourceNO As String, Optional strSMSStatus As String) As Boolean On Error GoTo ErrorG Dim strTmp As String, strTmp1 As String Dim i As Integer, iTmp1 As Integer, iTmp2 As Integer Dim iLen As Integer Dim blHasError As Boolean Dim blIfInprogress As Boolean Static iCountMonitor As Integer strTmp = For i = 1 To Len(strInput) strTmp1 = Mid(strInput, i, 1) If strTmp1 vbLf Then strTmp = strTmp amp。 strTmp1 Next i g_strSave = g_strSave amp。 strTmp 39。AT+CMGR=1 amp。 vbCrLf amp。 +CMGR: REC If InStr(strTmp, vbCr) 0 Then 39。 And (InStr(strTmp, OK) 0 Or InStr(strTmp, ERROR) 0) Then g_blIsWaiting = False iCountMonitor = 0 End If iCountMonitor = iCountMonitor + 1 39??词欠袷茿T命令或者其響應(yīng) 39。 a. 如果是AT開(kāi)頭或者有A/且A/之后是回車(chē)換行,則表示ATE1 39。 b. 如果不是以上或者以以上字符串開(kāi)頭,回車(chē)換行之后以+開(kāi)頭,或者OK、ERROR 39。 則表示是AT命令的響應(yīng)。 39。 另外,還有一種可能是以上所述字符串出現(xiàn)在半道, 39。 那么,在這種情況下需要查找符合條件的字符串,從中截取出響應(yīng)字符串 39。 在這里,如果命令一時(shí)沒(méi)有全部返回,因?yàn)榇跀?shù)據(jù)不一定會(huì)得到全部數(shù)據(jù) 39。 所以,設(shè)置一個(gè)靜態(tài)的Bool變量blIsWaiting,來(lái)指示是否結(jié)束了本條AT響應(yīng)單元ProcessNextData: Do If Left(g_strSave, 1) = vbCr Then g_strSave = Right(g_strSave, Len(g_strSave) 1) Else Exit Do End If Loop If Not g_blIsWaiting Then If g_strThisAT = Then g_blIsWaiting = True If UCase(Left(g_strSave, 3)) = A/ amp。 vbCr Then CommandStatus = 重復(fù)上次指令 g_strSave = Right(g_strSave, Len(g_strSave) 3) g_strThisAT = g_blIsWaiting = False ElseIf UCase(Left(g_strSave, 2)) = AT Then 39。命令的回顯 iLen = InStr(g_strSave, vbCr) 39。查找命令輸入結(jié)束符號(hào)——回車(chē) If iLen 0 Then g_strLastAT = Left(g_strSave, iLen) 39。保存回顯的命令,作為指示的依據(jù)。 g_strSave = Right(g_strSave, Len(g_strSave) iLen) 39。只保留命令的執(zhí)行部分 g_strThisAT = IsEcho Else g_blIsWaiting = True End If ElseIf UCase(Left(g_strSave, 2)) AT Then 39。如果開(kāi)頭字符不是AT+,那么需要搜索一下; iTmp1 = InStr(g_strSave, +) 39。首先查找AT指令響應(yīng)標(biāo)志+
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1