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

正文內(nèi)容

基于短信收發(fā)系統(tǒng)畢業(yè)設(shè)計(留存版)

2025-03-04 15:19上一頁面

下一頁面
  

【正文】 程,以及GSM 。 // SMSC地址字符串的長度 buf[0] = (char)((nLength amp。 // 用戶信息字符串的長度 buf[0] = pSrcTP_PID。 // 目標(biāo)PDU串長度 unsigned char tmp。 // 調(diào)整奇偶性 pSrc += 4。 // 格式轉(zhuǎn)換 gsmDecode7bit(buf, pDstTP_UD, nDstLength)。短消息發(fā)送成功,模塊返回: CRLFOKCRLF例如:我現(xiàn)在以實例來說明這些指令的使用方法:先用RS232數(shù)據(jù)線將GSM MODEM連接到電腦串口,并將串口的波特率設(shè)置為57600,可以開始了?!etDlgItemText(IDC_PHONENUM_EDIT,desPhoneNum)。 // 加上長度字節(jié)本身 // 命令中的長度,不包括SMSC信息長度,以數(shù)據(jù)字節(jié)計 sprintf(cmd, AT+CMGS=%d\r, nPduLength / 2nSmscLength)。i++) {  (CString(smsNum[i].TPA)+smsNum[i].TP_UD)。 // 讀取序號                      ptr = strstr(ptr, \r\n)。}在PC控制軟件的短信列表框中刪除所有短消息的清空按鈕函數(shù)為:void CSMSControlDlg::OnDeleteallButton() { // TODO: Add your control notification handler code here ()。前者用于請求對方暫停發(fā)送,后者用于清除暫停傳送的請求,繼續(xù)發(fā)送數(shù)據(jù)。例如我們可以在視類中菜單或按鈕的響應(yīng)函數(shù)中用AfxBeginThread(WriteProc,this)函數(shù)來開啟一個名為WriteProc的線程,由于在線程中還需要使用視類的函數(shù)和變量,為了不產(chǎn)生新的視類的實例對象,我們通過該函數(shù)的第二個參數(shù)將指向當(dāng)前的視類的指針this作為參數(shù)傳遞給線程。 }(%c,10)。這樣就基本上完善了企業(yè)應(yīng)用方案。}}結(jié) 束 語 經(jīng)過一段時間的學(xué)習(xí)和研究,終于使這套短信群發(fā)系統(tǒng)能夠?qū)崿F(xiàn)其基本功能,并且已經(jīng)在Windows 2003/Windows XP中測試成功。\039?,F(xiàn)將常用的屬性列表如下:屬性設(shè)定值屬性說明CommPort 1 串口號,一般從1到4InBufferSize30720接收緩沖區(qū)大小,為保持程序穩(wěn)定建議設(shè)得值足夠大InputMode0Text 接收數(shù)據(jù)類型,0表示文本類型,1表示二進(jìn)制類型InputLen0 從接收緩沖區(qū)讀取的字節(jié)數(shù),0表示全部讀取 OutBufferSize512 發(fā)送緩沖區(qū)大小Settings 4800,n,8,1串口的參數(shù)設(shè)置,依次為波特率、奇偶校驗(n無校驗,e偶校驗,o奇校驗)、數(shù)據(jù)位數(shù)、停止位數(shù)RThreshold1 設(shè)定當(dāng)接收幾個字符時觸發(fā)OnComm事件,0表示不產(chǎn)生事件,1表示每接收一個字符就產(chǎn)生一個事件 SThreshold 0 設(shè)定在觸發(fā)OnComm事件前,發(fā)送緩沖區(qū)內(nèi)所允許的最少的字符數(shù),0表示發(fā)送數(shù)據(jù)時不產(chǎn)生事件,1表示當(dāng)發(fā)送緩沖區(qū)空時產(chǎn)生OnComm事件表42 Microsoft Communications Control,version 我們要求能在程序啟動的同時就打開串口以便即時對從串口到達(dá)的數(shù)據(jù)進(jìn)行接收、處理?! ”M管如此,RS232C仍然具有非常廣泛的應(yīng)用,在相對長的一段時間里,難以被USB等接口取代?!?/ 根據(jù)能否找到+CMS ERROR決定成功與否 if (nLength 0 amp。amp。//短信緩沖區(qū) int smsNum。 // 根據(jù)PDU參數(shù),編碼PDU串 strcat(pdu, \x01a)。 // 原始用戶信息(編碼前或解碼后的TPUD) char index。3. 設(shè)置短消息到達(dá)自動提示  設(shè)置短消息到達(dá)自動提示的指令格式為: AT+CNMI=1,1,0,0,1CR  設(shè)置正確則TC35模塊返回: CRLFOKCRLF。tmp, 2)。 0x80) { // 包含回復(fù)地址,取回復(fù)地址信息 gsmString2Bytes(pSrc, amp。 // nLength等于該段數(shù)據(jù)長度 } nDstLength += gsmBytes2String(buf, amp。pDst[nDstLength], 4)。// PDU編碼,用于編制、發(fā)送短消息// pSrc: 源PDU參數(shù)指針// pDst: 目標(biāo)PDU串指針// 返回: 目標(biāo)PDU串長度int gsmEncodePdu(const SM_PARAM* pSrc, char* pDst){ int nLength。 } // 輸出字符串加個結(jié)束符 *pDst = 39。939。 amp。 // UNICODE寬字符數(shù)目 WCHAR wchar[128]?!薄?“233。 // 將該字節(jié)剩下的左邊部分,作為殘余數(shù)據(jù)保存起來 nLeft = *pSrc (7nByte)。 // 將該字節(jié)剩下的左邊部分,作為殘余數(shù)據(jù)保存起來 nLeft = *pSrc nChar。8bit編碼時,就是字節(jié)數(shù)。PDU串不僅包含可顯示的消息本身,還包含很多其它信息,如SMS服務(wù)中心號碼、目標(biāo)號碼、回復(fù)號碼、編碼方式和服務(wù)時間等。:當(dāng)企業(yè)基于廣泛宣傳的目的,需要進(jìn)行大規(guī)模短信廣告時,系統(tǒng)支持按手機(jī)號碼段進(jìn)行廣告呼叫。為了能滿足小型企業(yè)的使用需求,經(jīng)過考察我們先確定以下系統(tǒng)的基本功:短信管理、自動應(yīng)答、定時發(fā)送、統(tǒng)計查詢、客戶分組管理、常用短語管理、短信訂閱管理、短信計費管理、手機(jī)號碼段管理以及一些拓展功能。目前,主要有三種發(fā)送短信的方式:  圖13 TC35終端電路圖 系統(tǒng)功能 ?。?1) 發(fā)送短信a) 對保戶,可滿足發(fā)送續(xù)保提示;實時關(guān)懷;信息發(fā)布。第2章 短信編碼方式 SMS規(guī)范首先,我們要對由ETSI(European Telemunications Standards Institute)制訂的SMS規(guī)范有所了解。手機(jī)接收到的PDU串可以是08 91 68 31 08 20 05 05 F0 84 0D 91 68 31 58 81 27 64 F8 00 08 30我們對英文短信“Hello!”進(jìn)行編碼:圖21 7bit編碼示意圖將源串每8個字符分為一組(這個例子中不滿8個)進(jìn)行編碼,在組內(nèi)字符間壓縮,但每組之間是沒有什么聯(lián)系的。 } // 返回目標(biāo)串長度 return nDst。 // 修改目標(biāo)串的指針和計數(shù)值 pDst++。如果沒有系統(tǒng)的支持,比如用單片機(jī)控制手機(jī)模塊收發(fā)短消息,只好用查表法解決了。 } // UNICODE串字符串 nDstLength = ::WideCharToMultiByte(CP_ACP, 0, wchar, nSrcLength/2, pDst, 160, NULL, NULL)。039。 + 10。這些是底層的核心代碼,為了保證代碼的可移植性,我們盡可能不用MFC的類,必要時用ANSI C標(biāo)準(zhǔn)庫函數(shù)。 1) == 0 ? nLength : nLength + 1) / 2 + 1。 // 協(xié)議標(biāo)識(TPPID) buf[1] = pSrcTP_DCS。 // 內(nèi)部用的臨時字節(jié)變量 unsigned char buf[256]。 // 指針后移 gsmSerializeNumbers(pSrc, pDstTPA, tmp)。 // 轉(zhuǎn)換到TPDU nDstLength = tmp。1. 首先測試你的連接及GSM MODEM是否支持AT指令,請在你的串口調(diào)試程序中輸入:  AT<回車>  屏幕上返回OK表明計算機(jī)與GSM MODEM連接正常,那樣我們就可以進(jìn)行其它的AT指令測試了2. 設(shè)置短信發(fā)送格式  AT+CMGF=1<回車>  屏幕上返回OK表明現(xiàn)在短信的發(fā)送方式為PDU方式,如果是設(shè)置為TEXT方式,則,AT+CMGF=0<回車>3. 發(fā)送短信  發(fā)送內(nèi)容及手要號仍舊同上面在編碼中的一樣,編碼后,得到要發(fā)送的數(shù)據(jù)如下:0891683108705505F011000D91683117352446F2000800124F60597D002C00480065006C006C006F0021  我們用如下指令來發(fā)送  AT+CMGS=33<回車>  如果返回>,就把上面編碼數(shù)據(jù)輸入,并以CTRL+Z結(jié)尾,稍等一下,你就可以看到返回OK啦?!etDlgItemText(IDC_SMSCONTENT_EDIT,smsContent)。 // 生成命令 WriteComm(cmd, strlen(cmd))?! }  其中調(diào)用的gsmReadMessage函數(shù)完成最核心的短信接收功能,它按照第1節(jié)闡述的GSM模塊接收短消息的串口控制流程進(jìn)行短信的接收:// 參數(shù):pMsg 短消息緩沖區(qū),必須足夠大// 返回:短消息條數(shù)int gsmReadMessage(SM_PARAM* pMsg){ int nLength。 // 找下一行   ptr += 2。} 編/解碼GSM短消息  這里只給出編解碼函數(shù)的原型,具體請參看GSM標(biāo)準(zhǔn)及上一章。  另一種方法是:數(shù)據(jù)的發(fā)送和接收由硬件控制,進(jìn)行硬件握手,其連接方法如圖6(最常用DB9連接示意),需要連接的信號除RXD、TXD和GND外,還包括DTR、DSR、RTS和CTS。在線程中可以用如下兩種方法之中的一種調(diào)用視類的成員函數(shù):((COLECommView*) pParam)DoSendProc()。m_SendData+=str。致 謝 在畢業(yè)設(shè)計的過程中,不斷地遇到棘手的問題,而為最終得以解決而感到興奮,這種感覺伴隨我的畢業(yè)設(shè)計始終。}elsem_RecvData+=msg。while(a[i]!=39。為了編程方便起見,也可以在資源視圖中直接對該控件的屬性進(jìn)行設(shè)置,如無特別要求,對下表所列屬性進(jìn)行設(shè)置就基本可以滿足編程要求了。不過RS232C顯然已經(jīng)開始被后起之秀USB趕超,因為USB的傳輸速率已經(jīng)遠(yuǎn)遠(yuǎn)超過了RS232C?!?/ 讀應(yīng)答數(shù)據(jù) nLength = ReadComm(ans, 128)。 // 讀應(yīng)答數(shù)據(jù) // 根據(jù)能否找到+CMS ERROR決定成功與否 if(nLength 0 amp。}  點擊接收按鈕會通過gsmReadMessage函數(shù)的調(diào)用獲得所有短消息,最后在列表控件中顯示所有短信:void CSMSControlDlg::OnRecvButton() { // TODO: Add your control notification handler code here SM_PARAM smParam[100]。 // 應(yīng)答串 nPduLength = gsmEncodePdu(pSrc, pdu)。 // 服務(wù)時間戳字符串(TP_SCTS), 接收時用到 char TP_UD[161]?! ∽x取短消息服務(wù)中心則使用命令: AT+CSCA=?CR  TC35模塊應(yīng)該返回: CRLF+CSCA:″8613800531500″CRLF。 // 指針后移 gsmString2Bytes(pSrc, amp。 // 指針后移 if(tmp amp。 // 轉(zhuǎn)換TPDA到目標(biāo)PDU串 nLength = buf[3] + 4。 // 固定: 用國際格式號碼 nDstLength += gsmBytes2String(buf, amp。為簡化編程,有些字段用了固定值。 pSrc++。 *pSrc=39。039。} // UCS2解碼// pSrc: 源編碼串指針// pDst: 目標(biāo)字符串指針// nSrcLength: 源編碼串長度// 返回: 目標(biāo)字符串長度int gsmDecodeUcs2(const unsigned char* pSrc, char* pDst, int nSrcLength){ int nDstLength。如果是法語、德語、西班牙語等,含有 “229。 0x7f。 } else { // 組內(nèi)其它字節(jié),將其右邊部分與殘余數(shù)據(jù)相加,得到一個目標(biāo)編碼字節(jié) *pDst = (*pSrc (8nChar)) | nLeft。7bit編碼時,指原始短消息的字符個數(shù),而不是編碼后的字節(jié)數(shù)。它們是8位字節(jié)的十六進(jìn)制數(shù),或者BCD碼十進(jìn)制數(shù)?;蛳到y(tǒng)自動統(tǒng)計匯總短信收費資料并將資料存儲,供用戶短信查詢
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1