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

正文內(nèi)容

基于gsm短消息方式的gps系統(tǒng)通過串口收發(fā)短消息(doc畢設(shè)論文)-wenkub

2023-07-10 00:44:01 本頁面
 

【正文】 節(jié)4F 60 59 7D 00 21用戶信息(TPUD)“你好!”若基本參數(shù)的最高位(TPRP)為0,則沒有回復(fù)地址的三個段。例1 發(fā)送:SMSC號碼是+8613800250500,對方號碼是13851872468,消息內(nèi)容是“Hello!”。它們是8位字節(jié)的十六進(jìn)制數(shù),或者BCD碼十進(jìn)制數(shù)。PDU Mode被所有手機(jī)支持,可以使用任何字符集,這也是手機(jī)默認(rèn)的編碼方式。前二者著重描述SMS的技術(shù)實現(xiàn)(含編碼方式),后者則規(guī)定了SMS的DTEDCE接口標(biāo)準(zhǔn)(AT命令集)。串口連接GSM手機(jī)發(fā)送和接收短消息,在應(yīng)用程序中如何編程實現(xiàn)? 一共有三種方式來發(fā)送和接收SMS信息:Block Mode, Text Mode和PDU Mode。Text Mode比較簡單,而且不適合做自定義數(shù)據(jù)傳輸,我們就不討論了。PDU串不僅包含可顯示的消息本身,還包含很多其它信息,如 SMS服務(wù)中心號碼、目標(biāo)號碼、回復(fù)號碼、編碼方式和服務(wù)時間等。從手機(jī)發(fā)出的PDU串可以是08 91 68 31 08 20 05 05 F0 11 00 0D 91 68 31 58 81 27 64 F8 00 00 00 06 C8 32 9B FD 0E 01對照規(guī)范,具體分析:分段含義說明08SMSC地址信息的長度共8個八位字節(jié)(包括91)91SMSC地址格式(TON/NPI)用國際格式號碼(在前面加‘+’)68 31 08 20 05 05 F0SMSC地址8613800250500,補(bǔ)‘F’湊成偶數(shù)個11基本參數(shù)(TPMTI/VFP)發(fā)送,TPVP用相對格式00消息基準(zhǔn)值(TPMR)00D目標(biāo)地址數(shù)字個數(shù)共13個十進(jìn)制數(shù)(不包括91和‘F’)91目標(biāo)地址格式(TON/NPI)用國際格式號碼(在前面加‘+’)68 31 58 81 27 64 F8目標(biāo)地址(TPDA)8613851872468,補(bǔ)‘F’湊成偶數(shù)個00協(xié)議標(biāo)識(TPPID)是普通GSM類型,點到點方式00用戶信息編碼方式(TPDCS)7bit編碼00有效期(TPVP)5分鐘06用戶信息長度(TPUDL)實際長度6個字節(jié)C8 32 9B FD 0E 01用戶信息(TPUD)“Hello!”例2 接收:SMSC號碼是+8613800250500,對方號碼是13851872468,消息內(nèi)容是“你好!”。從Internet上發(fā)出的短消息常常是這種情形。PDU串的用戶信息(TPUD)段最大容量是140字節(jié),所以在這三種編碼方式下,可以發(fā)送的短消息的最大字符數(shù)分別是160、140和70。8bit編碼時,就是字節(jié)數(shù)。下面以一個具體的例子說明7bit編碼的過程。 // 目標(biāo)編碼串的計數(shù)值 int nChar。 // 將源串每8個字節(jié)分為一組,壓縮成7個字節(jié) // 循環(huán)該處理過程,直至源串被處理完 // 如果分組不到8字節(jié),也能正確處理 while(nSrcnSrcLength) { // 取源字符串的計數(shù)值的最低3位 nChar = nSrc amp。 // 將該字節(jié)剩下的左邊部分,作為殘余數(shù)據(jù)保存起來 nLeft = *pSrc nChar。 nSrc++。 // 目標(biāo)解碼串的計數(shù)值 int nByte。 // 組內(nèi)字節(jié)序號和殘余數(shù)據(jù)初始化 nByte = 0。 // 將該字節(jié)剩下的左邊部分,作為殘余數(shù)據(jù)保存起來 nLeft = *pSrc (7nByte)。 // 到了一組的最后一個字節(jié) if(nByte == 7) { // 額外得到一個目標(biāo)解碼字節(jié) *pDst = nLeft。 nLeft = 0。 // 返回目標(biāo)串長度 return nDst?!?、 “233。在Windows系統(tǒng)中,特別是在2000/XP中,可以簡單地調(diào)用API 函數(shù)實現(xiàn)編碼和解碼。 // UNICODE串緩沖區(qū) // 字符串UNICODE串 nDstLength = ::MultiByteToWideChar(CP_ACP, 0, pSrc, nSrcLength, wchar, 128)。 // 后輸出低位字節(jié) *pDst++ = wchar[i] amp。 // UNICODE寬字符數(shù)目 WCHAR wchar[128]。 // 后低位字節(jié) wchar[i] |= *pSrc++。 // 返回目標(biāo)字符串長度 return nDstLength。// 可打印字符串轉(zhuǎn)換為字節(jié)數(shù)據(jù)// 如:C8329BFD0E01 {0xC8, 0x32, 0x9B, 0xFD, 0x0E, 0x01}// pSrc: 源字符串指針// pDst: 目標(biāo)數(shù)據(jù)指針// nSrcLength: 源字符串長度// 返回: 目標(biāo)數(shù)據(jù)長度int gsmString2Bytes(const char* pSrc, unsigned char* pDst, int nSrcLength){ for(int i=0。 amp。) { *pDst = (*pSrc 39。A39。039。939。A39。 } // 返回目標(biāo)數(shù)據(jù)長度 returnnSrcLength / 2。 i++) { // 輸出低4位 *pDst++ = tab[*pSrc 4]。 } // 輸出字符串加個結(jié)束符 *pDst = 39?,F(xiàn)在,重點描述PDU全串的編碼和解碼過程,以及GSM 。 // 目標(biāo)號碼或回復(fù)號碼(TPDA或TPRA) char TP_PID。 // 原始用戶信息(編碼前或解碼后的TPUD) char index。F39。 // 兩兩顛倒 for(int i=0。 // 復(fù)制后出現(xiàn)的字符 *pDst++ = ch。 // 補(bǔ)39。\039。 // 用于保存一個字符 // 復(fù)制串長度 nDstLength = nSrcLength。 // 保存先出現(xiàn)的字符 *pDst++ = *pSrc++。嗎? if(*(pDst1) == 39。 // 目標(biāo)字符串長度減1 } // 輸出字符串加個結(jié)束符 *pDst = 39。為簡化編程,有些字段用了固定值。 // 內(nèi)部用的緩沖區(qū) // SMSC地址信息段 nLength = strlen(pSrcSCA)。 // 固定: 用國際格式號碼 nDstLength = gsmBytes2String(buf, pDst, 2)。 // TPDA地址字符串的長度 buf[0] = 0x11。 // 固定: 用國際格式號碼 nDstLength += gsmBytes2String(buf, amp。 // 轉(zhuǎn)換TPDA到目標(biāo)PDU串 // TPDU段協(xié)議標(biāo)識、編碼方式、用戶信息等 nLength = strlen(pSrcTP_UD)。 // 有效期(TPVP)為5分鐘 if(pSrcTP_DCS == GSM_7BIT) { // 7bit編碼方式 buf[3] = nLength。buf[4], nLength)。 // 轉(zhuǎn)換TPDA到目標(biāo)PDU串 nLength = buf[3] + 4。} // PDU解碼,用于接收、閱讀短消息// pSrc: 源PDU串指針// pDst: 目標(biāo)PDU參數(shù)指針// 返回: 用戶信息串長度int gsmDecodePdu(const char* pSrc, SM_PARAM* pDst){ int nDstLength。tmp, 2)。 // 轉(zhuǎn)換SMSC號碼到目標(biāo)PDU串 pSrc += tmp。 // 指針后移 if(tmp amp。 1) tmp += 1。 // 指針后移 } // TPDU段協(xié)議標(biāo)識、編碼方式、用戶信息等 gsmString2Bytes(pSrc, (unsigned char*)amp。pDstTP_DCS, 2)。 // 指針后移 gsmString2Bytes(pSrc, amp。 7 ? (int)tmp * 7 / 4 + 2 : (int)tmp * 7 / 4)。 // 格式轉(zhuǎn)換
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1