工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛
您的位置:软件 > 开发者网络 > 开发工具 > 移动开发 > 正文
在基于WinCE的产品上使用手机模块
[文章信息]
作者:付林林
时间:2004-12-16
出处:天极网
责任编辑:方舟
[文章导读]
要在你的基于Windows CE的产品上具备无线通讯(拨号上网、拨打电话、收发短信)功能
advertisement
热点推荐
· 真没想到VB也可以这样用之指针技术
· 禁止QQ登录的方法
· 给你的XML文件做个数字签名
· ImageReady制作“焰火”小动画
· Java加密和数字签名编程快速入门
[正文]
  付林林:

  2001年计算机专业毕业。从毕业起一直从事软件开发工作。目前从事 Windows CE 下操作系统内核定制和应用程序开发。在实际工作中积累了CE下开发的一些经验。希望和 CE 下开发者交流、探讨,更希望你们能不吝赐教。我的EMail:windowsce@tom.com

  进入作者专栏

  本文作者将在天极社区嵌入式开发版回答读者的疑问。

  要在你的基于Windows CE的产品上具备无线通讯(拨号上网、拨打电话、收发短信)功能,你的选择是要么让用户外接手机,要么在你的产品上集成手机模块。如果是外接手机,那么手机只是起到在上网浏览期间接收和发送数据的作用。如果必须集成手机模块,那么手机模块要完成无线通讯的全部功能,从软件开发角度讲,相对要麻烦一点。本篇文章简略地讲解在开发控制手机模块的软件过程中需要注意的事项。

  一、拨号上网

  在连接Internet浏览网页过程中,手机模块负责连接ISP、从ISP接收数据和发送数据。如果ISP为中国移动,那么有两种拨号号码,一种号码为17201,属于普通的拨号上网业务,可以以9.6Kbps的数据传输速率接入到CMNET;另一种号码为*99# ,利用GRPS来加速接收和发送数据,GPRS接入方式提供30KB/秒到40KB/秒的接入速度,使用数据加速系统后可以达到60KB/秒到80KB/秒。Windows CE提供对拨号连接的支持,具体需要调用哪些API我在前面的文章中讲过了(参见《Windows CE下拨号上网》)。利用RAS函数,我们只需要确定连接手机模块的串口,输入用户名、密码、电话号码就可以连接到ISP了,接着只要调用IE浏览器就可以轻松浏览网页了,整个功能的实现我们只做了很少的工作。不过利用RAS函数有利有弊,利在开发相对容易一些,弊在它掩盖了底层的实现,从《Windows CE下拨号上网》的图中可以看出,RAS是实现拨号连接的最上层,TAPI和Unimodem是主要的实现层。换句话说你想在RAS层设置例如串口波特率是不可能的。而CE默认的拨号连接记录中串口波特率为19200,相对于17201的数据传输速度来说都慢,更何况是GPRS。要设置串口的波特率为最大值115200,可行的办法有两个,一个是放弃RAS,调用TAPI函数实现拨号上网,TAPI函数中有几个函数例如带界面的lineConfigDialogEdit和无界面的lineDevSpecific 都可以设置波特率;另一个方法要简单的多,在CE下先用CE自带的"拨号连接"程序建立一个拨号记录,在建立过程中可以设置波特率,这个拨号记录的数据被保存到注册表中。如果自己开发拨号程序,那么只要在拨号前到注册表中找到拨号记录就可以了。通过这种方法就可以设置波特率了。如果你的CE平台不支持永久保存注册表,那么可以把拨号记录的数据直接保存到PB中,这样定制的内核本身就包含一个拨号记录,可以任意读取。

  二、拨打电话、收发短信

  实现拨打电话和收发短信,利用的是AT命令集和串口通讯。因为CE的串口不支持重叠,所以在拨号和网页浏览期间是不能再次打开同一个串口的。关于串口通讯我以前写过一篇文章,不过其中接收串口数据的线程不适合接收手机模块返回的数据,必须针对手机模块的特点构架一个合理的模型。下面我谈谈我在开发过程中遇到的两个问题,如果您有不同见解请发邮件给我,我希望能得到您的宝贵意见。

  1、不像手机,有些手机模块不具备存储功能,所以每次在启动的时候都要初始化一些必要的设置。如设置短信文本模式、字符格式、麦克和听筒的音量等。实际的初始化会更多。这种情况下如果发送一个命令后紧接着发送另一个命令,那么手机模块是吃不消的。必须先发送一个命令,然后等待手机模块对这个命令的返回结果,如果成功了再发送下一个命令,这才能够保证初始化都能成功完成,而且可以实时显示当前工作状态。

  2、手机模块返回的信息不确定。任何发送到手机模块的命令都会被返回,返回的字符串中可能包含对命令的响应,也可能不包含。这样就必须对整个返回信息做检索工作,而且还要区分返回的信息是否是对命令的响应。如"\r\nRING\r\n"就不是对命令的响应。

  实际遇到的问题不止这两个,所以在构架接收数据部分和处理数据部分的时候要把问题考虑全了。

  

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • 小议Windows CE 的下浏览器配置
  • 浅析Windows CE下浏览器源码
  • Windows CE下中文输入法编辑器简介
  • Windows CE下的串口通信编程
  • 初识 Embedded Visual C++
  • 民营家电商排队造手机 设备商全面杀入
  • 英特尔澄清杨旭任职传闻 官方没宣布此消息
  • 国资委河北密制联通拆分方案
  • 垃圾邮件害人害企害国 清除垃圾邮件不手软
  • 中兴携手阿尔卡特 全球逐鹿CDMA
  • 用友总裁王文京:誓将ERP变成“大众消费”
  • 香港消费者委员会:数码相机最贵未必最好
  • 外电称中兴正评估西门子手机业务 或能并购
  • Advertisement

    天极无线


    奇妙科幻|美好风光|清风车影|漫画卡通|星座生肖|明星写真|动物世界
    老鼠爱大米
    挥着翅膀的女孩
    女人味
    栀子花开
    白月光
    刚刚好
    江南
    快乐崇拜
    亲爱的你怎么不在我身边
    小薇
    2002年的第一场雪
    有多少爱可以重来
    我的地盘
    七里香
    情人
     
    老鼠爱大米 老板电话
    冲动的惩罚 七里香
    我不是黄蓉 女生撒娇
    盛夏的果实 坚持到底
    孤单北半球 眉飞色舞
    挪威的森林 可爱女人
    最浪漫的事 老板电话

    CSEEK搜索