Wince系统下如何截获串口数据

哈哈潜伏哥 2008-06-10 01:28:39
最近得到一部免费的GPS导航仪,想通过研究改进一下该导航仪的功能,遇到一些困难困扰我很久了,希望高手能施以援手,感激不尽。

问题是这样的,该导航仪是wince4.2的系统,GPS导航软件运行的时候已经将GPS模块的串口(GPS模块只有一个串口,只能向这个串口输出经纬度等信息)占用,我现在想在不影响导航软件使用的情况下,获取到GPS模块从串口输出的相关GPS定位数据(只需要获取不需要发送数据到串口),只知道有两种方式可以实现,一种是驱动过滤(这个太高深了,没有接触过),一种是API hook我比较偏向于后者,急切希望能够获得部分相关信息或资料。

我在网上查了很多资料,好像都不行。另外我是用C#来开发程序的,希望能有高手帮帮忙。我最近被这个问题搞的焦头烂额的了,其实也没有什么目的,就是自己觉得好玩而已。
...全文
313 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈哈潜伏哥 2008-07-09
  • 打赏
  • 举报
回复
最后问题还是没有解决,比较郁闷,不过多谢楼上各位。
哈哈潜伏哥 2008-07-04
  • 打赏
  • 举报
回复
高手到哪里去了,发了这么久怎么还没人回啊。
rl0516 2008-06-20
  • 打赏
  • 举报
回复
Windows Mobile 提供了gpsapi.dll,它可以使多个程序共享一个GPS串口数据,不知道Wince支持不支持?
yagebu1983 2008-06-20
  • 打赏
  • 举报
回复
去Cnblogs看看!!!
帮你顶!!
shisan_1 2008-06-18
  • 打赏
  • 举报
回复
在串口线上并一个头子出来不就可以了,数据发送接受都可以监视到,串口线就是2,3,5。5是地

或者你在里面做一个转发服务,接一下命令串,你在发给GPS,接返回数据。稍微麻烦点。

没你想的那么复杂,不用HOOK ^-*',只是返回数据肯定有格式的,你不知道协议,估计没什么用。
哈哈潜伏哥 2008-06-18
  • 打赏
  • 举报
回复
我需要的是软件上实现的方法啊,硬件上没有搞啊,在导航仪上用的方法。
哈哈潜伏哥 2008-06-14
  • 打赏
  • 举报
回复
我最近几天研究了一下API HOOK,查到监视串口可以用调用readfile()函数,但是问题又来了,我在网上查到有人说串口是不能共享的,所以调用API 的时候只能独占,没法共享。希望高手早日出现啊。
SuperTyro 2008-06-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 athlon128 的回复:]
这个很简单。我也做过类似的东西。你找一下串口的定义,把GPS设备连接电脑的线修改一下。
现在不是只有2个头吗,在弄一个RS232的头来接上去。只接设备的GND和发送线(TxD)2个就可以了。
设备的数据接受线(RxD)不用接的,把这个多出来的头插到电脑串口上去。然后用串口软件打开这个串口。
再打开GPS设备,有数据的话 ,串口软件就能收到了。而且不影响GPS软件的正常使用。
这个方法安全可靠,即使做接头的时候要细心点…
[/Quote]

晕掉了... 这样真的可以啊? 有机会一定去尝试下
帮LZ顶上去

我是小菜鸟! 说的不好清见谅, 希望能够帮到你!
哈哈潜伏哥 2008-06-12
  • 打赏
  • 举报
回复
谢谢7楼,但我是要用软件来实现啊。

其实我的主要目的是要做一个WINCE下用导航软件的外挂程序,可以截获GPS模块输出的数据才行啊,获取到GPS模块输出的数据后要进行一些操作,主要是想写入到KML文件中,然后可以在google earth上显示航迹。

知道的请回复一下,我将我的全部分数给你。
athlon128 2008-06-12
  • 打赏
  • 举报
回复
这个很简单。我也做过类似的东西。你找一下串口的定义,把GPS设备连接电脑的线修改一下。
现在不是只有2个头吗,在弄一个RS232的头来接上去。只接设备的GND和发送线(TxD)2个就可以了。
设备的数据接受线(RxD)不用接的,把这个多出来的头插到电脑串口上去。然后用串口软件打开这个串口。
再打开GPS设备,有数据的话 ,串口软件就能收到了。而且不影响GPS软件的正常使用。
这个方法安全可靠,即使做接头的时候要细心点,别短路了
哈哈潜伏哥 2008-06-11
  • 打赏
  • 举报
回复
我的问题真的很急啊,高手都到哪里去了,快来啊,我所有分数倾囊相授啊
哈哈潜伏哥 2008-06-11
  • 打赏
  • 举报
回复
这个不是线程的问题,在一个程序中打开串口,串口就被独占了,所有其他线程也无法访问串口的,所以5楼的办法也是行不通的。
我需要的就是程序打开串口后,我还能在其他程序中获取到串口输出的数据。
yilanwuyu123 2008-06-11
  • 打赏
  • 举报
回复
帮顶一下

貌似建立一个线程去监听这个端口

存储后显示是一个办法
BIGBIRDINWOODS 2008-06-11
  • 打赏
  • 举报
回复
在網上查一下gps數據的獲取啊,有的
kbryant 2008-06-10
  • 打赏
  • 举报
回复
帮顶
yagebu1983 2008-06-10
  • 打赏
  • 举报
回复
帮你顶!!
没搞过!!

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧