zoukankan      html  css  js  c++  java
  • 使用串口复用工具让多个程序共享一个串口数据【整理】

    最近在做一个外挂程序,从串口获取其他程序得到的数据,但是问题是,串口是独占方式使用的,也就是说同时只能有一个程序去读取串口数据或者发送数据到串口。

    那么,在不能关闭其他程序的情况下,怎样获取其他程序得到的相同的串口数据呢?

    搜过一些文章,随便看看都说serialPort1.Open()就行了,说明他们都没去试过,在另一个程序打开了串口的情况下,你去open试试看。

    又搜过一些帖子,说可以用钩子函数,结果有关钩子函数的资料不是鼠标的就是键盘的,有些人提过几个函数createfile,readfile等,但是却没有人写过一个例子,最后在某个回帖中有人提过几个工具,下载了许多,结果只有一个可以实现我想要的效果,软件名是 Eltima Software Serial Splitter(软件下载地址请自行搜索),使用教程请见:http://www.xcar.com.cn/bbs/viewthread.php?tid=12227886

    我亲自测试过了,的确可用,多个程序可以共享一个串口的数据,原理就是复用软件连接真实的串口,然后虚拟出多个串口,所有程序都去连接虚拟串口,于是真实串口的数据会同时传到所有虚拟串口上,这就解决了问题,后来我看到搞硬件的人居然从一个串口接了2条线分出另外两个串口,从硬件的角度实现了这个功能,而且传输速度更有保障,不过程序多的情况下就比较麻烦了。

    目前就这么解决,希望能帮到遇到同样问题的同学,真希望有人能写出用钩子函数来解决的例子,当然,从技术研究的角度是这样,但是从解决实际问题的角度,还是越简单越好,有现成的软件能用当然用现成的啦。

  • 相关阅读:
    Github简单使用
    软件架构
    软件架构
    软件架构
    VB.net 捕获项目全局异常
    C#里面的三种定时计时器:TIMER
    深入分析委托与事件
    C#预处理器指令
    C# 实现透明可移动窗体
    多元一次方程解法 C++
  • 原文地址:https://www.cnblogs.com/linyc/p/1996640.html
Copyright © 2011-2022 走看看