好久木有来写东西了。。。。。从去年年底到现在。。。。我基本上都只在干两件事。。。。搞WINCE。。。。找新工作。。。。
熟悉我的坛友,大概都知道。。。我要么不写,逢写必是精品。。。哈哈。。。肯定是总结总结最近自己的做过的事情。
好了,废话不多说了。。。。
[media]http://player.youku.com/player.php/sid/XMzg3MTY2MTY0/v.swf[/media]
定位屏
简单讲讲吧,正如视频中所提到的。。。
你要做GPS串口的应用,而且是基于WINCE的。
那么首先,你要把WINCE的操作系统跑起来。
然后,你要让基于WINCE下的串口驱动转起来。这两个是你做应用的前提条件。
然后才能根据你现有的系统资源,生成SDK,制作应用。
在应用中,做串口操作,你需要以读写文件的方式打开串口资源。
如何读写串口呢?
最笨的方法,你可以用定时器,去定时的收发数据。但是,windows系统(无论是PC端还是嵌入式)的定时器,精度是没有保证的。因此这种方法并不可取,但是是可以做出来的。
还一种方法,或许你可以利用串口控件MSCOM。这货在VC6.0时代就已经很火了。在PC上开发串口程序,用它是利器。可以把它用在WINCE上否?我并不清楚。
最后,也是现在比较主流的,或许你该抛开原来的那些思想,用用线程了。用线程,好处多多。一个收发数据线程,一个数据解算线程。两者各自运行,只要做好同步工作,那么处理串口工作起来,那真的是轻松又愉快啊。
搞定串口通讯功能后,你需要搞定,GPS模块的通讯协议。
最普通的输出协议也是最通用的格式就是NMEA0183格式。这是GPS输出数据之魂。GPS模块会向串口输出常用的消息,比如$GPGSV,$GPGGA,$GPRMC等等应该有6,7条比较常用的。做好这一块的解析,也是体现你程序中数据处理能力的高低。
然后,解出来的有用数据,你要把它们分发到应用中各个需要的地方去。这些,或许你该使用消息了。
然后,还有一些比较简单的动态绘图的知识你应该懂得。比如,如何防止绘图闪烁?如何用双缓冲技术?如何避免绘图时的内存泄露(这是WINCE系统的一个特定的BUG,PC上并不存在)?
如果搞定以上这些了,我相信这个应用差不多就成型了。
GPS模块
QQ2440
最后,附件是我打包好的应用,感兴趣的朋友可以下来玩玩。源码暂时不能放,等我过了这门课后再放上,见谅。实在想要或者探讨,欢迎联系作者本人,谢谢。
[
本帖最后由 drjloveyou 于 2012-4-26 22:14 编辑 ]