亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? delphi之串口編程.txt

?? 介紹組件MSCOMM的用法及詳細例子.希望對大家有用.謝謝!
?? TXT
字號:
delphi之串口編程 [ 上一篇文章 ] [ 下一篇文章 ] 
1.相關的GSM AT指令 
與SMS有關的GSM AT指令(from GSM07.05)如表1所示: 
表1 相關的GSM AT指令

AT 指令 
功 能 

AT+CMGC 
Send an SMS command(發出一條短消息命令) 

AT+CMGD 
Delete SMS message(刪除SIM卡內存的短消息) 

AT+CMGF 
Select SMS message formate(選擇短消息信息格式:0-PDU;1-文本) 


AT+CMGL 
List SMS message from preferred store(列出SIM卡中的短消息PDU/text: 0/“REC UNREAD”-未讀,1/“REC READ”-已讀,2/“STO UNSENT”-待發,3/“STO SENT”-已發,4/“ALL”-全部的) 

AT+CMGR 
Read SMS message(讀短消息) 

AT+CMGS 
Send SMS message(發送短消息) 

AT+CMGW 
Write SMS message to memory(向SIM內存中寫入待發的短消息) 

AT+CMSS 
Send SMS message from storage(從SIN|M內存中發送短消息) 

AT+CNMI 
New SMS message indications(顯示新收到的短消息) 

AT+CPMS 
Preferred SMS message storage(選擇短消息內存) 

AT+CSCA 
SMS service center address(短消息中心地址) 

AT+CSCB 
Select cell broadcast messages(選擇蜂窩廣播消息) 

AT+CSMP 
Set SMS text mode parameters(設置短消息文本模式參數) 

AT+CSMS 
Select Message Service(選擇短消息服務) 


對短消息的控制共有三種模式: 
Block Mode 

基于AT命令的PDU Mode 

基于AT命令的Text Mode 

使用Block模式需要手機生產廠家提供驅動支持,目前,PDU Mode 已取代 Block Mode, Text Mode比較簡單,本文重點介紹模式PDU Mode,以西門子公司的產品TC35T為例。 
2.計算機與TC35T的通信 
(1)RS232串口連接 
由于TC35T自帶RS232串口線,故只需將其連接到計算機串口即可。打開超級終端,選擇相應的串口,將端口參數設置為:速率—4800、奇偶校驗位—無、數據位—8、停止位—1、流量控制—硬件。 
(2)連接測試 
輸入“AT”然后回車,屏幕上返回“OK”表明計算機與TC35T已連接成功,TC35T能夠正常工作。這時就可以測試各類AT命令。 
當測試命令“AT+CMGS=?”時,如果返回“OK”標明TC35T支持該指令。該指令的完整語法如下: 
如果此時TC35T處于PDU Mode(即“AT+CMGF?”返回“0”) 

AT+CMGS=PDU is given<^Z/ESC> 
如果短消息發送成功,則返回“OK”,并顯示信息號: 
+CMGS: [,] 
如果短消息發送失敗,則返回如下信息號: 
+CMS ERROR: 
如果此時TC35T處于Text Mode(即“AT+CMGF?”返回“1”) 

AT+CMGS=[,toda]text is entered<^Z/ESC> 
如果短消息發送成功,則返回“OK”,并顯示信息號: 
+CMGS: [,] 
如果短消息發送失敗,則返回如下信息號: 
+CMS ERROR: 
另外,由于使用的是TC35T,當有新的短消息到來時,需要TC35T產生提示,使用指令“AT+CNMI”。該指令的完整語法如下: 
AT+CNMI=[][,][,][,][,] 
如果有新的短消息來到,則TC35T將自動返回下列提示: 
+CMTI: “SM”, 
此時讀出,然后用“AT+CMGR”指令即可讀出短消息內容。 
3.PDU數據格式分析: 
例如,我們要將字符“Hi”字符發送到目的地“13677328099” 
PDU字符串為: 
08 91 683108701305F0 11 00 0D 91 3176378290F9 00 00 00 02 C834 
⑴08—短信息中心地址長度。指(91)+(683108701305F0)的長度。 
⑵91—短信息中心號碼類型。91是TON/NPI遵守International/E.164標準,指在號碼前需加‘+’號;此外還有其它數值,但91最常用。 
91—10010001 
BIT No. 
7 
6 
5 
4 
3 
2 
1 
0 

Name 
1 
數值類型 
號碼鑒別 


數值類型(Type of Number):000—未知,001—國際,010—國內,111—留作擴展; 
號碼鑒別(Numbering plan identification):0000—未知,0001—ISDN/電話號碼(E.164/E.163),1111—留作擴展; 
⑶683108701305F0—短信息中心號碼。由于位置上略有處理,實際號碼應為:8613800731500(字母F是指長度減1)。這需要根據不同的地域作相應的修改。 
⑴、⑵、⑶通稱短消息中心地址(Address of the SMSC)。 
⑷11—文件頭字節。 
11&h=00010001&b 
BIT No. 
7 
6 
5 
4 
3 
2 
1 
0 

Name 
TP-RP 
TP-UDHI 
TP-SPR 
TP-VFP 
TP-RD 
TP-MTI 

Value 
0 
0 
0 
1 
0 
0 
0 
1 


應答路徑—TP-RP(TP-Reply-Path):0—不設置; 1—設置 
用戶數據頭標識—TP-UDHL(TP-User-Data-Header-Indicator):0—不含任何頭信息; 1—含頭信息 
狀態報告要求—TP-SPR(TP-Status-Report-Request):0—需要報告; 1—不需要報告 
有效期格式—TP-VPF(TP-Validity-Period-Format):00—不提供(Not present); 10—整型(標準);01—預留; 11—提供8位字節的一半(Semi-Octet Represented) 
拒絕復制—TP-RD(TP-Reject-Duplicates):0—接受復制; 1—拒絕復制 
信息類型提示—TP-MTI(TP-Message-Type-Indicator):00—讀出(Deliver); 01—提交(Submit) 
⑸00—信息類型(TP-Message-Reference) 
⑹0B—被叫號碼長度。 
⑺91—被叫號碼類型(同⑵)。 
⑻3176378290F9—被叫號碼,經過了位移處理,實際號碼為“13677328099”。 
⑹、⑺、⑻通稱目的地址(TP-Destination-Address)。 
⑼00—協議標識TP-PID(TP-Protocol-Identifier) 
BIT No. 
7 
6 
5 
4 
3 
2 
1 
0 


Bit No.7與Bit No.6: 00—如下面定義的分配Bit No.0—Bit No.5;01—參見GSM03.40協議標識完全定義;10—預留;11—為服務中心(SC)特殊用途分配Bit No.0—Bit No.5。 
一般將這兩位置為00。 
Bit No.5:0—不使用遠程網絡,只是短消息設備之間的協議;1—使用遠程網絡。 
Bit No.0—Bits No.4:00000—隱含;00001—電傳;00010—group 3 telefax;00100—語音;00101—歐洲無線信息系統(ERMES);00110—國內系統;10001—任何基于X.400的公用信息處理系統;10010—Email。 
⑽00—數據編碼方案TP-DCS(TP-Data-Coding-Scheme) 
BIT No. 
7 
6 
5 
4 
3 
2 
1 
0 


Bit No.7與Bit No.6 :一般設置為00;Bit No.5:0—文本未壓縮,1—文本用GSM標準壓縮算法壓縮;Bit No.4:0—表示Bit No.1、Bit No.0為保留位,不含信息類型信息,1—表示Bit No.1、Bit No.0含有信息類型信息;Bit No.3與Bit No.2:00—默認的字母表,01—8bit,10—USC2(16bit),11—預留;Bit No.1與Bit No.0:00—Class 0,01—Class 1,10—Class 2(SIM卡特定信息),11—Class 3。 
⑾00—有效期TP-VP(TP-Valid-Period) 
VP value(&h) 
相應的有效期 

00 to 8F 
(VP+1)*5 分鐘 

90 to A7 
12小時+(VP-143)*30分鐘 

A8 to C4 
(VP-166)*1天 

C5 to FF 
(VP-192)*1 周 


⑿02—用戶數據長度TP-UDL(TP-User-Data-Length) 
⒀C834—用戶數據TP-UD(TP-User-Data)“Hi” 
4.短消息編碼 
設需要發送的短消息內容為“Hi”,使用的GSM字符集為7位編碼。首先將字符轉換為7位的二進制,然后,將后面字符的位調用到前面,補齊前面的差別。例如:H翻譯成1001000,i翻譯成1101001,顯然H的二進制編碼不足八位,那么就將i的最后一位補足到H的前面。那么就成了11001000(C8),i剩下六位110100,前面再補兩個0,變成00110100(34),于是“Hi”就變成了兩個八進制數 C8 34。 
5.短消息的發送與接收案例 
鑒于TC35(T)支持TEXT格式,我們在試驗中主要測試該格式。 
(1)設置短消息中心 
AT+CSCA="+8613800731500"(短消息中心); 
(2)設置短消息發送格式 
AT+CMGF=1 (1-TEXT; 0-PDU); 
(3)發送短消息(短消息內容為“test”) 
AT+CMGS="13508485560"(目的地址) 
> test ^z ; 
(4)設置短消息到達自動提示: 設置短消息到達提示當短消息被接收,將獲取指令: +CMTI:"SM",INDEX(信息存儲位置) 
AT+CNMI=1,1,0,0,1(); 
(5)獲取短消息內容(Once more),假設INDEX=8。 
AT+CMGR=8 
返回信息如下: 
+CMGR: "REC UNREAD","+8613508485560",,"01/07/16,15:37:28+32",Once more 
6.注意事項 
(1)短消息中心一般不會改動,如果短消息中心號碼改動,在使用“AT+CSCA”語句時,記住TC35要重新啟動,否則TC35不能正常工作(TC35T不存在此問題)。 
(2)某些SIM卡帶有密碼,啟動時需要輸入密碼。 



引用URL: 
作者:flying | 收藏到我的摘客
發表時間: 2005-7-20 12:30:44 | 發表評論 (6) | 閱讀全文 ( 433 ) | (引用)TrackBack 

Re:delphi之串口編程 時間:2006-5-23 21:46:56 用戶名:flying [addr=8613800200500F2、將奇數位和偶數位交換。=>addr=683108020005F03、將短信息中心號碼前面加上字符91,91是國際化的意思=>addr=91683108020005F04、算出addr長度,結果除2,格式化成2位的16進制字符串,16/2=8=>08=>addr=0891683108020005F0二、手機號碼處理:用字符串phone1、將手機號碼去掉+號,看看長度是否為偶數,如果不是,最后添加F即phone=+8613602433649=>phone=8613602433649F2、將手機號碼奇數位和偶數位交換。=>phone=683106423346F9三、短信息部分處理:用字符串msg表示1、轉字符串轉換為Unicode代碼,例如“工作愉快!”的unicode代碼為5DE54F5C61095FEBFF01,(轉換函數見最后附錄)2、將msg長度除2,保留兩位16進制數,即5DE54F5C61095FEBFF01=20/2=>0A,再加上msg=>msg=0A5DE54F5C61095FEBFF01四、組合1、手機號碼前加上字符串11000D91(1100:固定,0D:手機號碼的長度,不算+號,十六進制表示,91:發送到手機為91,發送到小靈通為81),即phone=11000D91+phone=>11000D91683106423346F92、手機號碼后加上000800和剛才的短信息內容,000800也寫死就可以了即phone=phone+000800+msg即11000D91683106423346F9+000800+0A5DE54F5C61095FEBFF01=>phone=11000D91683106423346F90008000A5DE54F5C61095FEBFF013、phone長度除以2,格式化成2位的十進制數即11000D91683106423346F90008000A5DE54F5C61095FEBFF01=>50位/2=>25五、所以要發送的內容為AT+CMGF=0<回車>OKAT+CMGS=25<回車>>addr+phone六、如果返回不是ERROR,恭喜你,發送成功了^_^附錄:functionEncodeUniCode(sWideString)String;//字符串->PDUvari,lenInteger;curInteger;tString;beginResult='''';len=Length(s);i=1;whilei<=lendobegincur=ord(s[i]);Result=Result+IntToHex(Cur,4);inc(i);end;end;functionDecodeUniCode(sString)WideString;//PDU->字符串varpPWord;i,lenInteger;curInteger;TempCharWideChar;tString;beginNew(p);Result='''';len=Length(s)div4;i=1;fori=0toLen-1dobegint=Copy(s,4*i+1,4);p^=HexToInt(t);Move(p^,TempChar,2);Result=Result+TempChar;end;Dispose(p);end;','flying','2006-5-23')>引用] 
本文以一個實例來解說AT指令發送PDU短信的全過程,假如我要發送下面的短信: 
接收號碼:+8613602433649 
短信內容:工作愉快! 
短信中心號碼:+8613800200500 
一、短信中心號碼處理:用字符串 addr 表示 
1、將短信息中心號碼去掉+號,看看長度是否為偶數,如果不是,最后添加F 
即 addr = "+8613800200500" 
=> addr = "8613800200500F" 
2、將奇數位和偶數位交換。 
=> addr = "683108020005F0" 
3、將短信息中心號碼前面加上字符91,91是國際化的意思 
=> addr = "91683108020005F0" 
4、算出 addr 長度,結果除2,格式化成2位的16進制字符串,16 / 2 = 8 => "08" 
=> addr = "0891683108020005F0" 
二、手機號碼處理:用字符串 phone 
1、將手機號碼去掉+號,看看長度是否為偶數,如果不是,最后添加F 
即 phone = "+8613602433649" 
=> phone = "8613602433649F" 
2、將手機號碼奇數位和偶數位交換。 
=> phone = "683106423346F9" 
三、短信息部分處理:用字符串 msg 表示 
1、轉字符串轉換為Unicode代碼,例如“工作愉快!”的unicode代碼為 5DE54F5C61095FEBFF01, 
(轉換函數見最后附錄) 
2、將 msg 長度除2,保留兩位16進制數,即 5DE54F5C61095FEBFF01 = 20 / 2 => "0A",再加上 msg 
=> msg = "0A5DE54F5C61095FEBFF01" 
四、組合 
1、手機號碼前加上字符串 11000D91(1100:固定,0D:手機號碼的長度,不算+號,十六進制表示,91:發送到手機為91,發送到小靈通為81), 
即 phone = "11000D91" + phone 
=> 11000D91683106423346F9 
2、手機號碼后加上 000800 和剛才的短信息內容,000800也寫死就可以了 
即 phone = phone + "000800" + msg 
即 11000D91683106423346F9 + 000800 + 0A5DE54F5C61095FEBFF01 
=> phone = 11000D91683106423346F90008000A5DE54F5C61095FEBFF01 
3、phone 長度除以2,格式化成2位的十進制數 
即 11000D91683106423346F90008000A5DE54F5C61095FEBFF01 => 50位 / 2 => 25 
五、所以要發送的內容為 
AT+CMGF=0 <回車> 
OK 
AT+CMGS=25<回車> 
> addr+phone 
六、如果返回不是ERROR,恭喜你,發送成功了^_^ 
附錄: 
function EncodeUniCode(s:WideString):String; //字符串->PDU 
var 
i,len:Integer; 
cur:Integer; 
t:String; 
begin 
Result:=''''; 
len:=Length(s); 
i:=1; 
while i<=len do 
begin 
cur:=ord(s[i]); 
Result:=Result+IntToHex(Cur,4); 
inc(i); 
end; 
end; 
function DecodeUniCode(s:String):WideString; //PDU->字符串 
var 
p:PWord; 
i,len:Integer; 
cur:Integer; 
TempChar:WideChar; 
t:String; 
begin 
New(p); 
Result:=''''; 
len:=Length(s) div 4; 
i:=1; 
for i:=0 to Len-1 do 
begin 
t:=Copy(s,4*i+1,4); 
p^:=HexToInt(t); 
Move(p^,TempChar,2); 
Result:=Result+TempChar; 
end; 
Dispose(p); 
end; 

 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品视频在线观看网站| 国产精品美女久久久久久| 99re这里只有精品视频首页| 韩国成人福利片在线播放| 五月天亚洲婷婷| 午夜欧美2019年伦理| 亚洲v中文字幕| 日产欧产美韩系列久久99| 日本欧美韩国一区三区| 日本欧美一区二区在线观看| 久久国产精品99久久久久久老狼| 男人的j进女人的j一区| 美国毛片一区二区| 国产成人综合亚洲网站| 成人高清视频免费观看| 91在线视频免费91| 91久久一区二区| 欧美日韩高清一区二区三区| 91精品国产欧美一区二区| 精品国产人成亚洲区| 国产欧美一区二区精品性色超碰| 国产欧美日韩不卡免费| 中文字幕一区二区三区乱码在线 | 久久99久久99小草精品免视看| 日韩专区中文字幕一区二区| 精一区二区三区| 国产成人av一区二区三区在线观看| 福利一区福利二区| 在线中文字幕一区二区| 日韩免费一区二区三区在线播放| 国产欧美一区二区精品忘忧草| 1024亚洲合集| 免费成人深夜小野草| 国产成人综合亚洲网站| 欧美亚洲国产一区在线观看网站| 日韩欧美另类在线| 中文字幕日韩一区| 蜜桃视频在线一区| 99re6这里只有精品视频在线观看| 欧美性三三影院| 久久精品一区二区三区不卡牛牛| 一区二区三区国产| 欧美亚洲一区三区| 26uuu另类欧美| 一区二区在线观看不卡| 国产在线视频不卡二| 色一情一乱一乱一91av| 亚洲精品在线观看视频| 夜夜嗨av一区二区三区四季av| 美国av一区二区| 欧美天堂一区二区三区| 欧美激情综合五月色丁香| 视频一区国产视频| 色综合久久综合中文综合网| 欧美mv和日韩mv国产网站| 亚洲综合激情另类小说区| 高清不卡在线观看| 欧美va在线播放| 午夜精品一区二区三区免费视频 | 亚洲精品一二三| 国产精品自拍三区| 欧美一卡2卡3卡4卡| 亚洲一本大道在线| 色哟哟一区二区在线观看| 国产欧美精品区一区二区三区| 免费观看在线综合色| 欧美自拍偷拍午夜视频| 国产精品久久久久一区二区三区 | 免费视频一区二区| 欧美亚洲综合在线| 亚洲国产精品一区二区www在线| 99国产精品久久久久久久久久| 国产欧美精品一区aⅴ影院| 激情综合色丁香一区二区| 欧美大黄免费观看| 麻豆国产精品视频| www成人在线观看| 国产美女精品一区二区三区| 久久夜色精品国产欧美乱极品| 极品少妇一区二区三区精品视频| 精品国产一区二区三区久久久蜜月 | 亚洲已满18点击进入久久| 国产精品视频麻豆| 九九九精品视频| 欧美一卡二卡在线观看| 午夜成人在线视频| 欧美中文字幕久久| 亚洲福利电影网| 色婷婷国产精品久久包臀| 国产精品三级电影| 国产福利一区在线| 久久综合九色综合久久久精品综合| 日韩中文字幕av电影| 欧美熟乱第一页| 视频一区二区中文字幕| 99久久99久久综合| 国产精品成人网| 91福利视频在线| 日韩av网站免费在线| 国产欧美日韩不卡| 在线免费观看不卡av| 日韩国产在线观看| 国产性天天综合网| 9人人澡人人爽人人精品| 亚洲日本在线天堂| 欧美写真视频网站| 丝袜亚洲另类欧美| 欧美不卡一区二区三区| 国产高清精品在线| 亚洲欧美另类在线| 欧美日韩精品一区二区三区蜜桃| 三级一区在线视频先锋| 日韩一区二区电影| 国产成人自拍在线| 亚洲激情在线激情| 91麻豆精品国产91久久久久久| 久久av中文字幕片| 欧美成人一级视频| 91久久精品一区二区三区| 天堂蜜桃一区二区三区| 亚洲精品在线免费播放| 91老师国产黑色丝袜在线| 日韩高清中文字幕一区| 国产欧美日韩不卡免费| 欧美色电影在线| 蜜臀av一级做a爰片久久| 中文字幕欧美日本乱码一线二线| 色老综合老女人久久久| 免费日韩伦理电影| 亚洲综合免费观看高清完整版在线| 日韩一级黄色片| 色欧美片视频在线观看在线视频| 蜜桃av一区二区在线观看| 1024成人网| 欧美一级专区免费大片| 欧美性猛片aaaaaaa做受| 国产精品538一区二区在线| 亚洲激情av在线| 久久综合色婷婷| 欧美在线一区二区| 色综合天天综合网国产成人综合天 | 亚洲国产日韩一级| 国产精品毛片a∨一区二区三区| 欧美精品v国产精品v日韩精品| 成人黄色综合网站| 精品一区二区在线免费观看| 一区二区三区精品视频| 国产精品麻豆视频| 久久影院午夜片一区| 欧美午夜精品久久久| 欧美专区日韩专区| 91在线porny国产在线看| 国产精品小仙女| 激情图片小说一区| 日本欧美一区二区三区乱码| 三级欧美韩日大片在线看| 亚洲国产乱码最新视频| 一区二区三区91| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲国产成人tv| 亚洲精品免费播放| 图片区小说区国产精品视频| 亚洲一区二区五区| 国产精品成人午夜| 亚洲欧洲日产国产综合网| 精品久久国产字幕高潮| 久久久99精品免费观看| 亚洲精品在线三区| 精品国产免费人成电影在线观看四季| 欧美系列日韩一区| 欧美日韩国产成人在线91| 日韩欧美专区在线| 日韩区在线观看| 精品剧情在线观看| 久久精品免视看| 精品噜噜噜噜久久久久久久久试看| 91在线高清观看| 欧美亚洲动漫精品| 欧美日韩精品一区二区三区四区| 欧美年轻男男videosbes| 91精品午夜视频| 欧美一级国产精品| 337p粉嫩大胆色噜噜噜噜亚洲| 9191国产精品| 中文av一区特黄| 一区二区欧美视频| 日韩—二三区免费观看av| 蜜臀a∨国产成人精品| 99久久综合99久久综合网站| 色婷婷av一区二区三区gif| 欧美日韩精品综合在线| 精品国免费一区二区三区| 欧美一区二区三区免费| 久久久久97国产精华液好用吗| 国产精品久久久99| 首页国产欧美日韩丝袜| 99精品黄色片免费大全| 欧美乱妇一区二区三区不卡视频| 精品国产麻豆免费人成网站| 亚洲第一福利视频在线|