WEB开发网
开发学院软件开发VC 通过串口收发短消息(下) 阅读

通过串口收发短消息(下)

 2010-06-29 20:42:33 来源:WEB开发网   
核心提示:在用AT命令同手机通信时,需要注意哪些问题?任何一个AT命令发给手机,通过串口收发短消息(下)(5),都可能返回成功或失败,例如,最简单的办法是在数据前面额外加个识别标志,比如"FFFF",用AT+CMGS命令发送短消息时,如果此时正好手机处于振铃或通话状态

在用AT命令同手机通信时,需要注意哪些问题?

任何一个AT命令发给手机,都可能返回成功或失败。例如,用AT+CMGS命令发送短消息时,如果此时正好手机处于振铃或通话状态,就会返回一个"+CMS ERROR"。所以,应当在发送命令后,检测手机的响应,失败后重发。而且,因为只有一个通信端口,发送和接收不可能同时进行。

如果串口通信用超时控制的同步(阻塞)模式,一般做法是专门将发送/接收处理封装在一个工作子线程内。因为代码较多,这里就不详细介绍了。所附的Demo中,包含了完整的子线程和发送/接收应用程序界面的源码。

以上AT命令,是不是所有厂家的手机都支持?

ETSI GSM 07.05规范直到1998年才形成最终Release版本(Ver 7.0.1),在这之前及之后一段时间内,不排除各厂商在DTE-DCE的短消息AT命令有所不同的可能性。我们用到的几个PDU模式下的AT命令,是基本的命令,从原则上讲,各厂家的手机以及GSM模块应该都支持,但可能有细微差别。

用户信息(TP-UD)内除了一般意义上的短消息,还可以是图片和声音数据。关于手机铃声和图片格式方面,有什么规范吗?

为统一手机铃声、图片格式,Motorola和Ericsson, Siemens, Alcatel等共同开发了EMS(Enhanced Messaging Service)标准,并于2002年2月份公布。这些厂商格式相同。但另一手机巨头Nokia未参加标准的制定,手机铃声、图片格式与它们不同。所以没有形成统一的规范。EMS其实并没有超越GSM 07.05,只是TP-UD数据部分包含一定格式而已。各厂家的手机铃声、图片格式资料,可以查阅相关网站。

用户信息(TP-UD)其实可以是任何的自定义数据,是吗?

是的,尽管手机上会显示乱码。这种情况下,编码方式已经没有任何意义。但注意仍然要遵守规范。比如,若指定7-bit编码方式,TP-UDL应等于实际数据长度的8/7(用进一法,而不是四舍五入)。在利用SMS进行点对点或多点对一点的数据通信的应用中,可以传输各种自定义数据,如GPS信息,环境监测信息,加密的个人信息,等等。

如果在传输自定义数据的同时还要收发普通短消息,最简单的办法是在数据前面额外加个识别标志,比如"FFFF",以区分自定义数据和普通短消息。

上一页  1 2 3 4 5 

Tags:通过 串口 收发

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