WEB开发网
开发学院软件开发VC 通过串口实时接收短消息 阅读

通过串口实时接收短消息

 2010-07-20 20:45:58 来源:WEB开发网   
核心提示:在程序中具体实现时,使用mode=2, mt=1,通过串口实时接收短消息(2),比较简单,对所有类型的短消息,肯定能延长它的使用寿命,TE与ME之间的通信过程,只要在收到ME送来的“+CMTI”通知后,用“AT+CMGR”指令读取消息内容就行了

在程序中具体实现时,使用mode=2, mt=1,比较简单。对所有类型的短消息,只要在收到ME送来的“+CMTI”通知后,用“AT+CMGR”指令读取消息内容就行了。TE与ME之间的通信过程,举例如下:

(初始化)
AT+CNMI=? (查看能支持的设置范围)
+CNMI: (0-2),(0-3),(0,2,3),(0,1),(0,1)
OK
AT+CNMI?  (查看当前设置)
+CNMI: 0,0,0,0,0
OK
AT+CNMI=2,1  (设置为mode=2, mt=1)
OK
AT+CNMI?  (再查看当前设置)
+CNMI: 2,1,0,0,0
OK
(过了一段时间,有一条消息到达)
+CMTI “ME”,8   (通知:消息已经存储在ME内存中,序号为8)
AT+CMGR=8  (读第8条消息)
+CMGR: 8,27
0891683108200505F0240D91683158812764F80000402052110373800741E19058341E01
OK
AT+CMGD=8  (删除第8条消息)
OK

还有一种方式mode=2, mt=2也很令人感兴趣。在这种方式下,除了class 2外,消息不存储,直接转发到TE。需要处理消息通知和内容两种情况,复杂一些。但如果发送方也由程序控制,可以只发no class或class 1的消息,这样不存储在接收方ME内存(一般是闪存,非易失性的)中,肯定能延长它的使用寿命。TE与ME之间的通信过程,举例如下:

AT+CNMI=2,2 (设置为mode=2, mt=2)
OK
(过了一段时间,有一条消息到达)
+CMT: ,26
0891683108200505F0040D91683158812764F8000840205211639180064F60597D0021

上一页  1 2 

Tags:通过 串口 实时

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接