博文

NMEA-0183报文格式(2005-09-30 12:57:00)

摘要:NMEA-0183报文格式字符串(ASCII字符)格式如下:$XXXX,XX,XX,XX,……*hh<CR><LF>$:串头XXXX: 串头XX:数据字段,字母或数字XX:数据字段,字母或数字XX:数据字段,字母或数字,:逗号……*:星号,串尾hh:$与*之间所有字符代码的校验和,(注意:校验和h为半Byte校验,*后第1个h表示高4位校验和,第2个h表示低4位校验和。得到校验值后,再转换成ASCII字符。)<CR>:0DH,回车控制符<LF>:0AH,换行控制符......

阅读全文(4731) | 评论:0

利用VB 实现短消息收发(2005-09-29 20:21:00)

摘要:利用VB 实现短消息收发摘要:近来,笔者用VB 开发了一套PC 机上的短消息收发软件,本文根据笔者的实际开发经验整理而得。文中介绍了在计算机上实现短消息收发的模式,重点描述了PDU 模式,包括PDU 模式下的UCS2 编码、解码原理,以及发送与接收PDU 串的编制方式,在此基础上介绍了利用VB 中的MSCOMM 控件,实现短消息收发的核心程序。关键字:短消息收发、PDU 模式、UCS2 编解码、UNICODE 码、AT 指令、MSCOMM 控件正文:现在,短消息收发软件得到越发广泛的应用,从政府机关、学校到广大的传媒机构,直至诸多的企事业单位,颇受使用者欢迎。首先,手机用户的普及为这类软件的出现提供了可能,而使用这类软件,与人们传统惯用的打电话、发电子邮件等通讯方式相比,有独到的优点,它能将信息及时送达对方,不会像查收信件(或电邮)存在时间上的延误,也不存在类似于打电话占线或无人接听之类的烦恼;短消息收发软件可以实现消息收发双方的实时交互,用它还可以实现消息的群体发送或定时发送等。最近,笔者尝试用VB 来开发一套实现短消息收发功能的信息系统。至提笔之时,整套系统已经开发完毕。鉴于篇幅的原因,笔者不可能将整个系统一一尽数,而只能将开发过程中与短消息收发功能相关的一些技术要点和心得体验与众读者进行分享。一、短消息收发的实现模式目前,计算机串口上连接GSM MODEM,用它向手机发送短消息,是比较适合于小型项目开发的一种实现模式。这种方法要求对AT 指令集和串口编程比较熟悉。在开发过程中笔者使用的是索尼爱立信公司的GM29 模块。这种方法收发短消息又分三种模式:BLOCK 模式、TEXT 模式和PDU 模式。BLOCK 模式已是昔日黄花,现在用的很少了; TEXT 模式则只能发送ASCII 码,它不能发送中文的UNICODE码——确切地讲,从技术上来说是可以用于发送中文短消息的,但是国内的手机基本上不支持;而PDU 模式开发起来则较为复杂,它需要编写专门的函数来将文本转换为PDU 格式,但PDU 模式被所有手机支持,可以使用任何字符集,它也是手机默认的编码方式。笔者在开发中正是选用的PDU 模式。二、PDU 模式用PDU 模式收发短消息可以使用三种编码: 7-bit 编码、8-bit 编码和UCS2 编码。 7-bit编码用于发送普通的ASCII 字符;8-bit 编码通......

阅读全文(5356) | 评论:0

用VB 实现GPS 信息处理2(2005-09-29 20:19:00)

摘要:2. 2. 4  ShowData 过程该过程具体实现GPS 信息在文本框区显示、采集的功能,它通过添加数据到txt Term 控件的Text 属性,过滤控制字符,如空格、回车、换行, 并且写数据到一个打开的记录文件。空格符从它的左侧删除,在Text 属性, 或者从传递字符串中;换行符将被修改为回车; txt Term 控件的Text 属性的尺寸也被监视,使它不能超过MAX2TERMSIZE 的要求。其实现过程如下:Private Static Sub ShowData ( Term As Control , Data As String)On Error GoTo HandlerConst MAXTERMSIZE = 16000Dim TermSize As Long , i’以下为显示GPS 信息时用的变量Dim InString As StringDim Utils As New CParseUtilsDim tempStr As StringDim n As IntegerDim cnt As Integer’确定现存的文本不会太大TermSize = Len ( Term. Text )If TermSize > MAXTERMSIZE Then Term. Text = Mid $( Term. Text , 4097) TermSize = Len ( Term. Text )End If’指到txt Term 的数据的结尾处Term. SelStart = TermSize’过滤/ 处理空格符Do i = InStr (Data , Chr $(8) ) If i Then   If i = 1 Then    Term. SelStart = TermSize - 1    Term. SelLength = 1    Data = Mid $(Data , i + 1)   Else    Data = Left $(Data , i - 2) & Mid $(Data , i +1)   End If End IfLoop While i’除去换行符Do i = InStr (Data , Chr $(10) ) If i Then   Data = Left $(Data , i - 1) & Mid $(Data , ......

阅读全文(2660) | 评论:0

用VB 实现GPS 信息处理1(2005-09-29 20:18:00)

摘要:用VB 实现GPS 信息处理0  引 言目前,GPS 已在许多行业和领域得到广泛应用,但就如何将GPS 有关信息读入计算机以便进一步处理和应用,仍是大家普遍关心的问题。虽然目前GPS 接收仪的种类、功能各有差异,而且使用的通讯协议也比较多,但许多GPS 生产商都遵循NMEA0183 协议,并且这些GPS 都提供串行通讯接口。笔者试图从分析GPS 通讯NMEA0183 协议入手,以计算机实时读取、显示、存储、回放GPS信息为例,探讨用VB 实现GPS 信息处理的一些方法。1  GPS 通讯的NMEA 协议GPS 的通讯协议比较多,其中NMEA (National Ma2rine Electronics Association) , 0183 协议为GPS 接收机和其他航海电子产品的导航数据输出格式,是目前普遍使用且为大多数生产商遵循的协议之一,以下为其基本通讯参数及报文格式。1. 1  GPS 串行通讯参数波特率= 4800 ;无奇偶校验;数据位= 8 ;停止位= 11. 2  NMEA 0183 报文格式NMEA 0183 协议报文的语句串(ASCII 字符) 格式全部信息可如下表示[1] :$AAXXX,ddd. . . ddd , 3 hh < CR > < LF >具体内容为:$ 串头,表示串开始AA  识别符XXX 语句名ddd &#8943;ddd  数据字段,字母或数字,   逗号3  星号,串尾hh  $与3 之间所有字符代码的校验和< CR >  回车控制符< LF >  换行控制符1. 3  报文示例说明在具体的GPS 应用中,不需要用到NMEA 的全部信息,而是根据具体的工作,从中选取所需的信息,忽略其他信息。在文献[ 1 ]中,给出了用NMEA0813 的$GPGGA语句的数据格式及示例,文中以GPS 推荐的最短数据$GPRMC 语句为例,具体讨论协议串中各数据段内容。1. 3. 1  当GPS 接收仪和卫星的通讯正常时接收到的数据中就包含如下格式的RMC 语句:$GPRMC,055142,A,3603.3291,N,10346.3723,E,0.0,230.4,250503,1.3,W,A *3 02其中数据分别为:$GPRMC  串头,其中RMC 为定位语句055142 表示UTC 2......

阅读全文(2373) | 评论:0

VB使用WinSock设计网络五子棋(2005-09-29 14:17:00)

摘要: VB使用WinSock设计网络五子棋    Visual Basic 6.0中文企业版为Windows环境下的网络开发提供了强大的工具,Winsock控件就是其中之一。利用 WinSock 控件可以与远程计算机建立连接,Winsock包含有用户数据文报协议 (UDP)和传输控制协议 (TCP)。可用这两种协议来建立客户与服务器应用程序来进行通数据交换。WinSock 控件解决了以往应用VB编程时网络中应用程序之间无法实现点对点通信的难题。用户仅通过设置属性并借助事件处理就能够轻而易举地连接到一个远程的计算机上,而且只用两个方法就可以实现数据交换其中Senddata方法用于发送数据;Getdata方法用来取数据。    一、Winsock的编程基础   1.TCP协议:TCP(Transfer Control Protocol)是传输控制协议的简称,是基于连接的协议,在数据传输之前必须先建立连接。通过TCP协议建立的是客户/服务器通信方式。     2.UDP协议: UDP(User Data Protocol)是用户数据文报协议的简称,两台计算机之间的传输类似于传递邮件;两者之间没有明确的连接,可作为服务器,也可作为客户机。 使用UDP协议建立对等通信和通过TCP建立客户/服务器通信的方法略有不同,它不需要建立客户和服务器,而是建立对等通信。     3. Winsock属性:     LocalPort:返回或者设置所用到的本端口;如果指定的是端口 0,就使用一个随机端口。     Protocol:返回或设置Winsock所用的协议是TCP或UDP。     State:返回控件的状态,用枚举类型来表示。    ......

阅读全文(4594) | 评论:0

人生最可怕的18件大事,大家都小心点 (2005-09-29 13:02:00)

摘要:1星期五晚上修剪指甲就会失恋. 2,据说,如果注视著裂开的镜子,就会被吸到镜子里去.如果在合并的镜子里,看到的第十三张脸的眼睛是闭著的话,那这个人不久就会魂归西天了. 3,半夜两点不可以照镜子,否则会看到自己以外的人.  4,听说准考证的号码要是可以被七或三整除,那就一定可以考上(感觉跟机率好像有关. 5,据说要是一对情侣分别站在树的左右两边探出脸来照相的话,将来一定会分手;即使结了婚也会离婚. 6,据说要是在房间的四面墙壁都贴满海报的话,就比较容易被鬼压床.这是因为幽灵无法从房间出去的缘故.睡前看著房间的四个角落之後再睡,就会被鬼压床无法动弹. 7,浴室天花板的四个角落有很多幽灵,据说它们趁人在洗头的时候杀人(我正好是站著洗头==). 8,看到灵车或丧礼要把自己的姆指藏起来,否则父母会死得很悲惨,也有人说如果不暂时停止呼吸也不好.(倒是曾有个人骑脚踏车的时候看到灵车,结果为了把姆指藏起来而把双手放开,结果连人带车摔倒了==¦¦). 9,耳朵深处要是觉得搔痒,隔天就有好事;早上史是左边耳朵痒,当天就有好事(好像不管怎样都是好事嘛@@). 10,很多人在说话却忽然静下来的时候,听说是天上有天使经过,可是,也有人说是恶魔经过.  11,据说,长头发的人比较容易看到幽灵(聚灵吗==?). 12,晚上背靠著墙壁念书的话,会有一个老婆婆从墙壁中跑出来,拍念书的人背膀二次.这次绝不能回头,不然头会被她砍掉. 13,如果二十岁之前都没看到幽灵,那就一辈子都不会看到.同样的,如果二十岁之前都没有被鬼压过,就一辈子不会有了. 14,如果看到短尾的猫就会失恋;星期六下午如果看节黑色的猫就会有不好的事发生;看到黑色的猫如果不倒退三步的话,就会发生不幸的事. 15,如果指甲上出现白色斑点?就会有人赠送你想要的礼物. 16,早上缝制东西的话,会发生不祥的事. 17,过上九点一直盯著天花板看时,窗户会传来「咚!咚」的声音,这时如果不问:「请问是哪位?」的话,过几天就会死. 18,如果看了此贴不回,后果不堪设想. .... ......

阅读全文(1907) | 评论:0

气死看星星这一类软件(2005-09-29 12:59:00)

摘要:抱歉,据我再次测试,这个程序在某些时候会出问题。所谓的某些时候就是指:我在一个普通文本框中迅速地按键,然后突然用鼠标点击经过这个程序处理过的文本框时,让它获得了焦点,这时,变量中就会记录下获得焦点之后的输入,但是,文本框中没有显示。我想,可能是文本框获得焦点后就可以获取KeyPress和KeyDown事件,但是在一段时间内它不会对输入作出响应。于是,我修改程序,害我增加了两个辅助变量。修正版如下:Dim Pws As String, Keya As Integer, Keyl As IntegerPrivate Sub TexPW_Change()Select Case KeyaCase 8, 46    If Keyl = 0 Then        Pws = Left(Pws, TexPW.SelStart) & Mid(Pws, TexPW.SelStart + 2)    Else        Pws = Left(Pws, TexPW.SelStart) & Mid(Pws, TexPW.SelStart + Keyl + 1)    End IfCase Else    Pws = Left(Pws, TexPW.SelStart - 1) & Chr(Keya) & Mid(Pws, TexPW.SelStart + Keyl)End SelectEnd SubPrivate Sub TexPW_KeyDown(KeyCode As Integer, Shift As Integer)Keya = KeyCode: Keyl = TexPW.SelLengthEnd SubPrivate Sub TexPW_KeyPress(KeyAscii As Integer)Keya = KeyAscii: Keyl = TexPW.SelLengthSelect Case KeyAsciiCase Is <......

阅读全文(3415) | 评论:0

最强的智力题!!!!(2005-09-28 20:01:00)

摘要:有十二个乒乓球特征相同,其中只有一个重量异常,现在要求用一部没有砝码的天平称三次,将那个重量异常的球找出来。   评分标准:   1、30分钟以内做出来:智力很高很高很高,不知道有多高。   2、60分钟以内做出来:智力很高。   3、两小时内做出来: 智力相当高。   4、1天或者1周内做出来:智力也很高,而且还是一个有毅力的人。   5、10分钟内做出来:你或者以前做过,或者多半是个马虎的人。回去检查答案自:Club......

阅读全文(3459) | 评论:28

超强短信25条(挺得住的算你厉害!) (2005-09-28 19:37:00)

摘要: 超强短信25条(挺得住的算你厉害!) 点击:52948   1 2 >>   [ [孤独]不败] 发表于2005-09-27 13:53 [ 彩信][引用][回复][编辑] 1、老公要出差半年, 贤妻收拾行李.完毕,深情地交给老公一包安全套说道:在外面实在忍不住的话记住一定带套,老公听罢激动地说:家里不宽裕还是用她们的吧。       2、某男看到一则广告:不开刀、不住院、让你的生殖器轻轻松松变大变粗!顿大喜,立即汇款。数日,收到邮包,急切地打开一看!*!原来是一放大镜!         3、牧师问一对夫妇:如果五分钟后就到世界末日,你们想做什么事?丈夫兴致勃勃地回答:想做爱。太太白他一眼幽幽地说:那剩下的四分钟干什么?              6、俩屎壳螂讨论福利彩票,甲说:我要中了大奖就把方圆50里的厕所都买下来,每天吃个够!乙说:你丫太俗了!我要是中了大奖就包一活人,每天吃新鲜的!        7、洞房花烛夜的早晨,新郎一觉醒来,发现新娘泪流满面。惊讶问:心肝,为啥哭?新娘哭到:以后的日子怎么过?你那玩意儿用了一夜已经缩小到不成样子了!以后咋办呢!       8、一老头乘公交去高潮村办事。途中问女服务员:高潮到了没?女服务员:还没呢。一会儿他又问:高潮到了没?服务员说:糟老头急什么,高潮到了我会叫的!       9、老婆打麻将至凌晨回家,为了不扰醒丈夫,她先在客厅里脱光了衣服再进卧室。恰遇丈夫醒来,见了大怒到:太过份了!你竟输的精光?          11、一艾滋病患者在临终前写了一副对联:上联是:为***生,为***死,为***奋斗一辈子;下联为:吃***亏,上***当,最终死在***上.横联:倒***霉。       12、一小姐吃饭时点了道爆炒鞭花,夹菜时不慎掉到两腿之间,小姐大惊:这玩意真厉害!煮熟了剁碎了,它竟还认识路!       13、一男青年在公交车上看到一美女的衣领开得很低,春光外泄,戏言道‘真是桃花盛开的地方啊’,美女听后,撩起裙子说:‘还有生你养你的地方’!      15、一对男女正在做爱,女的忽然跳下床,跑进厨房从米缸里抓了一把米,回来撒到男的身上,气哼哼地说:少在这里丢人现眼,回去......

阅读全文(3261) | 评论:0

一个母亲一生撒的8个谎(转载)    (2005-09-28 19:36:00)

摘要: 一个母亲一生撒的8个谎(转载) 1 2 >>     [ 彩信][引用][回复][编辑] 1、儿时,小男孩家很穷,吃饭时,饭常常不够吃,母亲就把自己碗里的饭分给孩子吃。母亲说,孩子们,快吃吧,我不饿!——母亲撒的第一个谎     2、男孩长身体的时候,勤劳的母亲常用周日休息时间去县郊农村河沟里捞些鱼来给孩子们补钙。鱼很好吃,鱼汤也很鲜。孩子们吃鱼的时候,母亲就在一旁啃鱼骨头,用舌头舔鱼骨头上的肉渍。男孩心疼,就把自己碗里的鱼夹到母亲碗里,请母亲吃鱼。母亲不吃,母亲又用筷子把鱼夹回男孩的碗里。母亲说,孩子,快吃吧,我不爱吃鱼!——母亲撒的第二个谎     3、上初中了,为了缴够男孩和哥姐的学费,当缝纫工的母亲就去居委会领些火柴盒拿回家来,晚上糊了挣点分分钱补点家用。有个冬天,男孩半夜醒来,看到母亲还躬着身子在油灯下糊火柴盒。男孩说,母亲,睡了吧,明早您还要上班呢。母亲笑笑,说,孩子,快睡吧,我不困!——母亲撒的第三个谎     4、高考那年,母亲请了假天天站在考点门口为参加高考的男孩助阵。时逢盛夏,烈日当头,固执的母亲在烈日下一站就是几个小时。考试结束的铃声响了,母亲迎上去递过一杯用罐头瓶泡好的浓茶叮嘱孩子喝了,茶亦浓,情更浓。望着母亲干裂的嘴唇和满头的汗珠,男孩将手中的罐头瓶反递过去请母亲喝。母亲说,孩子,快喝吧,我不渴!——母亲撒的四个谎     5、父亲病逝之后,母亲又当爹又当娘,靠着自己在缝纫社里那点微薄收入含辛茹苦拉扯着几个孩子,供他们念书,日子过得苦不堪言。胡同路口电线杆下修表的李叔叔知道后,大事小事就找岔过来打个帮手,搬搬煤,挑挑水,送些钱粮来帮补男孩的家里。人非草木,孰能无情。左邻右舍对此看在眼里,记在心里,都劝母亲再嫁,何必苦了自己。然而母亲多年来却守身如玉,始终不嫁,别人再劝,母亲也断然不听,母亲说,我不爱!——撒的五个谎     6、男孩和她的哥姐大学毕业参加工作后,下了岗的母亲就在附近农贸市场摆了个小摊维持生活。身在外地工作的孩子们知道后就常常寄钱回来补贴母亲,母亲坚决不要,并将钱退了回去。母亲说,我有钱!——撒的六个谎     7、男孩留校任教两年,后又考取了美国一所名牌大学的博士生,毕业后留在美国一家科研机构工作,......

阅读全文(2334) | 评论:13