serialport 使用

wcf_01 2017-04-28 04:46:55
最近用在写一个类,使用的是SerialPort 。
我的目的是创建对象时,搞清设备所使用的串口号
我的思路是这样的
我在new里面向串口发送数据,然后接受判断,执行下一步也就是测试下一个串口。请问一下怎么操作。
其实就是类似于中断的一种方法,发送数据后等待接受,然后返回处理下一步。
...全文
259 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wcf_01 2017-05-03
  • 打赏
  • 举报
回复
引用 6 楼 zeratul1990 的回复:
复杂的弄不明白就简单的,获取全部可用串口号后循环呗,实例化一个,打开阻塞写阻塞读,判断之后关闭串口再试下个串口号
我在new的sub里面 each 循环里调用接收那个SUB然后返回那个循环,执行下一个循环, 这是我的想法,但是好像它返回不了那个循环。
拜一刀 2017-05-03
  • 打赏
  • 举报
回复
复杂的弄不明白就简单的,获取全部可用串口号后循环呗,实例化一个,打开阻塞写阻塞读,判断之后关闭串口再试下个串口号
wcf_01 2017-05-03
  • 打赏
  • 举报
回复
引用 4 楼 diaodiaop 的回复:
你既然都知道流程了..代码还有什么难度了? 无非就是 获取本机所有com.然后扔到一个数组中.. 然后循环数组 实例化多个sp.并注册同一个rev回调事件. 然后在循环sp[] 分别发送"数据" 并且在rev里面判断 如果当前的数据:"合法",那么(sender as sp ).name 就是你想要的....
我是个.net初学者,以前画电路图比较多。嘿嘿 所以你说的SP,rev回调之类的好专业 没听懂,我最近按照上楼的方法再找异步和多线程的资料看。 感觉看了稀里糊涂,没有头绪那种。
by_封爱 2017-05-03
  • 打赏
  • 举报
回复
你既然都知道流程了..代码还有什么难度了? 无非就是 获取本机所有com.然后扔到一个数组中.. 然后循环数组 实例化多个sp.并注册同一个rev回调事件. 然后在循环sp[] 分别发送"数据" 并且在rev里面判断 如果当前的数据:"合法",那么(sender as sp ).name 就是你想要的....
wcf_01 2017-05-02
  • 打赏
  • 举报
回复
自顶 !!!
wcf_01 2017-04-28
  • 打赏
  • 举报
回复
引用 1 楼 stherix 的回复:
先取得所有的系统串口号 用SerialPort.GetAllPorts就可以 然后对这个串口列表进行多线程异步操作,打开串口,如果打开成功则发送数据并等待正确的返回 不需要一个一个串口顺序测试
能提供个事例代码学习下吗? 以前看过线程,感觉他像个中断 但是她和委托什么的一直没搞清。
stherix 2017-04-28
  • 打赏
  • 举报
回复
先取得所有的系统串口号 用SerialPort.GetAllPorts就可以 然后对这个串口列表进行多线程异步操作,打开串口,如果打开成功则发送数据并等待正确的返回 不需要一个一个串口顺序测试

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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