花蒂被吸嘬的越来越爽,无心若为君怨,逆藤茶茶好萌免费阅读,老师白洁高义

產(chǎn)品列表PRODUCTS LIST

聯(lián)系信息

  • 電話:
    13521418576
  • 傳真:
    010-62979724
首頁 > 技術(shù)與支持 > 利用串口“實(shí)時(shí)”接收短消息的方法
利用串口“實(shí)時(shí)”接收短消息的方法
點(diǎn)擊次數(shù):4128 更新時(shí)間:2009-12-21

   當(dāng)ME收到一條消息時(shí),主動(dòng)發(fā)出通知給TE,或者直接將消息轉(zhuǎn)發(fā)到TE。與查詢機(jī)制相比,它類似于中斷機(jī)制。

   先簡(jiǎn)要說明一下短消息類(class)的概念:根據(jù)儲(chǔ)存的位置,短消息分為class 0 – 3四個(gè)類。也可以不類(no class),由ME按默認(rèn)設(shè)置進(jìn)行處理,存儲(chǔ)到內(nèi)存或者SIM卡中。在TPDU的TP-DCS字節(jié)中,當(dāng)bit7-bit4為00x1, 01x1, 1111時(shí),bit1-bit0指出消息所屬類:

00 – class 0:只顯示,不儲(chǔ)存
01 – class 1:儲(chǔ)存在ME內(nèi)存中
02 – class 2:儲(chǔ)存在SIM卡中
03 – class 3:直接傳輸?shù)絋E
GSM Modem一般都支持一條“AT+CNMI”指令,可用于設(shè)定當(dāng)有某類短消息到達(dá)時(shí),如何處置它:只儲(chǔ)存在的內(nèi)存(易失的/非易失的)中,先儲(chǔ)存后通知TE,還是直接轉(zhuǎn)發(fā)到TE,等等。

“AT+CNMI”指令語法為

AT+CNMI=[[,[,[,[,]]]]]mode - 通知方式:

0 – 不通知TE。
1 – 只在數(shù)據(jù)線空閑的情況下,通知TE;否則不通知TE。
2 – 通知TE。在數(shù)據(jù)線被占用的情況下,先緩沖起來,待數(shù)據(jù)線空閑,再行通知。
3 – 通知TE。在數(shù)據(jù)線被占用的情況下,通知混合在數(shù)據(jù)中一起傳輸。
mt - 消息儲(chǔ)存或直接轉(zhuǎn)發(fā)到TE:

0 – 儲(chǔ)存到默認(rèn)的內(nèi)存位置(包括class 3)
1 – 儲(chǔ)存到默認(rèn)的內(nèi)存位置,并且向TE發(fā)出通知(包括class 3)
2 – 對(duì)于class 2,儲(chǔ)存到SIM卡,并且向TE發(fā)出通知;對(duì)于其它c(diǎn)lass,直接將消息轉(zhuǎn)發(fā)到 TE
3 – 對(duì)于class 3,直接將消息轉(zhuǎn)發(fā)到 TE;對(duì)于其它c(diǎn)lass,同mt=1
bm, ds, bfr的含義,請(qǐng)參考相關(guān)標(biāo)準(zhǔn)文檔。一般不需要去關(guān)心它們。

在程序中具體實(shí)現(xiàn)時(shí),使用mode=2, mt=1,比較簡(jiǎn)單。對(duì)所有類型的短消息,只要在收到ME送來的“+CMTI”通知后,用“AT+CMGR”指令讀取消息內(nèi)容就行了。TE與ME之間的通信過程,舉例如下:

(初始化)
AT+CNMI=?  (查看能支持的設(shè)置范圍)
+CNMI: (0-2),(0-3),(0,2,3),(0,1),(0,1)
OK
 
AT+CNMI?    (查看當(dāng)前設(shè)置)
+CNMI: 0,0,0,0,0  
OK
 
AT+CNMI=2,1 (設(shè)置為mode=2, mt=1)
OK
 
AT+CNMI?    (再查看當(dāng)前設(shè)置)
+CNMI: 2,1,0,0,0  
OK
 
(過了一段時(shí)間,有一條消息到達(dá))
+CMTI “ME”,8  (通知:消息已經(jīng)存儲(chǔ)在ME內(nèi)存中,序號(hào)為8)
 
AT+CMGR=8   (讀第8條消息)
+CMGR: 8,27
0891683108200505F0240D91683158812764F80000402052110373800741E19058341E01
OK

AT+CMGD=8   (刪除第8條消息)
OK還有一種方式mode=2, mt=2也很令人感興趣。在這種方式下,除了class 2外,消息不存儲(chǔ),直接轉(zhuǎn)發(fā)到TE。需要處理消息通知和內(nèi)容兩種情況,復(fù)雜一些。但如果發(fā)送方也由程序控制,可以只發(fā)no class或class 1的消息,這樣不存儲(chǔ)在接收方ME內(nèi)存(一般是閃存,非易失性的)中,肯定能延長(zhǎng)它的使用壽命。TE與ME之間的通信過程,舉例如下:

AT+CNMI=2,2  (設(shè)置為mode=2, mt=2)
OK
 
(過了一段時(shí)間,有一條消息到達(dá))
+CMT: ,26
0891683108200505F0040D91683158812764F8000840205211639180064F60597D0021






<<串口服務(wù)器的工作方式和應(yīng)用


<<PCMCIA并口卡、PCMCIA轉(zhuǎn)并口卡使用指南