AT指令發(fā)送PDU短信詳解

AT指令發(fā)送PDU短信詳解

ID:37625016

大?。?33.11 KB

頁(yè)數(shù):15頁(yè)

時(shí)間:2019-05-26

AT指令發(fā)送PDU短信詳解_第1頁(yè)
AT指令發(fā)送PDU短信詳解_第2頁(yè)
AT指令發(fā)送PDU短信詳解_第3頁(yè)
AT指令發(fā)送PDU短信詳解_第4頁(yè)
AT指令發(fā)送PDU短信詳解_第5頁(yè)
資源描述:

《AT指令發(fā)送PDU短信詳解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、AT指令發(fā)送PDU短信詳解AT指令發(fā)送PDU短信詳解(支持發(fā)送到小靈通)本文以一個(gè)實(shí)例來(lái)解說(shuō)AT指令發(fā)送PDU短信的全過(guò)程,假如我要發(fā)送下面的短信:接收號(hào)碼:+8613602433649短信內(nèi)容:工作愉快!短信中心號(hào)碼:+8613800200500一、短信中心號(hào)碼處理:用字符串a(chǎn)ddr表示1、將短信息中心號(hào)碼去掉+號(hào),看看長(zhǎng)度是否為偶數(shù),如果不是,最后添加F即addr="+8613800200500"=>addr="8613800200500F"2、將奇數(shù)位和偶數(shù)位交換。=>addr="683108200005F0"3、將短信息中心號(hào)碼前面加上字符91,

2、91是國(guó)際化的意思=>addr="91683108200005F0"4、算出addr長(zhǎng)度,結(jié)果除2,格式化成2位的16進(jìn)制字符串,16/2=8=>"08"=>addr="0891683108200005F0"二、手機(jī)號(hào)碼處理:用字符串phone1、將手機(jī)號(hào)碼去掉+號(hào),看看長(zhǎng)度是否為偶數(shù),如果不是,最后添加F即ph=>ph2、將手機(jī)號(hào)碼奇數(shù)位和偶數(shù)位交換。=>phone="683106423346F9"三、短信息部分處理:用字符串msg表示1、轉(zhuǎn)字符串轉(zhuǎn)換為Unicode代碼,例如“工作愉快!”的unicode代碼為5DE54F5C61095FEBFF01

3、,(轉(zhuǎn)換函數(shù)見最后附錄)2、將msg長(zhǎng)度除2,保留兩位16進(jìn)制數(shù),即5DE54F5C61095FEBFF01=20/2=>"0A",再加上msg=>msg="0A5DE54F5C61095FEBFF01"四、組合1、手機(jī)號(hào)碼前加上字符串11000D91(1100:固定,0D:手機(jī)號(hào)碼的長(zhǎng)度,不算+號(hào),十六進(jìn)制表示,91:發(fā)送到手機(jī)為91,發(fā)送到小靈通為81),即phone="11000D91"+phone=>11000D91683106423346F92、手機(jī)號(hào)碼后加上000800和剛才的短信息內(nèi)容,000800也寫死就可以了即phone=phone+"

4、000800"+msg即11000D91683106423346F9+000800+0A5DE54F5C61095FEBFF01=>phone=11000D91683106423346F90008000A5DE54F5C61095FEBFF013、phone長(zhǎng)度除以2,格式化成2位的十進(jìn)制數(shù)即11000D91683106423346F90008000A5DE54F5C61095FEBFF01=>50位/2=>25五、所以要發(fā)送的內(nèi)容為AT+CMGF=0<回車>OKAT+CMGS=25<回車>>addr+phone六、如果返回不是ERR

5、OR,恭喜你,發(fā)送成功了^_^//-----------------------------------------------------//7bit編碼//輸入:pSrc-源字符串指針//nSrcLength-源字符串長(zhǎng)度//輸出:pDst-目標(biāo)編碼串指針//返回:目標(biāo)編碼串長(zhǎng)度intgsmEncode7bit(constchar*pSrc,unsignedchar*pDst,intnSrcLength){intnSrc;//源字符串的計(jì)數(shù)值intnDst;//目標(biāo)編碼串的計(jì)數(shù)值intnChar;//當(dāng)前正在處理的組內(nèi)字符字節(jié)的序號(hào),范圍是0-7un

6、signedcharnLeft;//上一字節(jié)殘余的數(shù)據(jù)//計(jì)數(shù)值初始化nSrc=0;nDst=0;//將源串每8個(gè)字節(jié)分為一組,壓縮成7個(gè)字節(jié)//循環(huán)該處理過(guò)程,直至源串被處理完//如果分組不到8字節(jié),也能正確處理while(nSrc

7、Char))

8、nLeft;//將該字節(jié)剩下的左邊部分,作為殘余數(shù)據(jù)保存起來(lái)nLeft=*pSrc>>nChar;//修改目標(biāo)串的指針和計(jì)數(shù)值pDst++;nDst++;}//修改源串的指針和計(jì)數(shù)值pSrc++;nSrc++;}//返回目標(biāo)串長(zhǎng)度returnnDst;}//7bit解碼//輸入:pSrc-源編碼串指針//nSrcLength-源編碼串長(zhǎng)度//輸出:pDst-目標(biāo)字符串指針//返回:目標(biāo)字符串長(zhǎng)度intgsmDecode7bit(constunsignedchar*pSrc,char*pDst,intnSrcLength){intnSrc;/

9、/源字符串的計(jì)數(shù)值intnDst;//目標(biāo)解碼串的計(jì)數(shù)值intnByte;//當(dāng)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。