JAVA操作串口:多线程访问同一串口,效率提升方案讨论帖(modbus协议)

VilenZYP 2011-06-22 02:33:03
现有需求如下:

N个线程,访问同一串口(基于modbus协议),如何在不损坏串口的情况下,提升线程访问效率?

损坏串口:由于同时接收的数据过多造成串口down掉.

请大家发表各自的看法.


现在我已经对这些线程做了很多的时序控制,已经勉强能持续运行10个小时左右.

希望能在这里找到一劳永逸的方案..不盛感激.
...全文
469 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Guanglew 2012-04-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
多线程不负责跟串口通信,而是将信息放入队列,再由一个单独的线程负责将队列中的信息发给串口,这样做可以不?
[/Quote]你好 我也对楼主的问题感兴趣 想请教您 您说的队列是什么呢?数组 还是自己定义过的类型、?两个线程怎么同时往队列中放数据呢?
Fly_m 2011-06-23
  • 打赏
  • 举报
回复
多线程访问串口,如何保证每个线程能够取到自己线程所需要的东西?线程不发数据?如何用发数据的线程控制好读数据的线程的先后顺序?
TKD03072010 2011-06-23
  • 打赏
  • 举报
回复
帮顶
学习学习
  • 打赏
  • 举报
回复
多线程不负责跟串口通信,而是将信息放入队列,再由一个单独的线程负责将队列中的信息发给串口,这样做可以不?
VilenZYP 2011-06-23
  • 打赏
  • 举报
回复
为什么我每发一个贴,就是无人问津? 不得不质疑活跃在CSDN的技术水平.
qybao 2011-06-23
  • 打赏
  • 举报
回复
LZ是调用别人的第三方的串口驱动还是自己做的驱动?
如果是自己写的驱动,要主要协调好时钟,也就是处理好串口控制线的控制(一般来说有控制线和数据线)
如果是使用javax.comm包,那么open的时候,如果串口被使用,就会抛出异常。不知道LZ所谓的down是什么意思?估计是这里的处理没协调好。
淫生杯具 2011-06-23
  • 打赏
  • 举报
回复
不懂啊,来学习
VilenZYP 2011-06-22
  • 打赏
  • 举报
回复
upup
VilenZYP 2011-06-22
  • 打赏
  • 举报
回复
寻高人~~~
xiajunsongfan 2011-06-22
  • 打赏
  • 举报
回复
不能帮到楼主。但帮你顶。。。
课程背景Modbus 协议是工业自动化控制系统中常见的通信协议协议的全面理解是个痛点。本课程主讲老师集10多年在Modbus协议学习、使用中的经验心得,结合当前物联网浪潮下Modbus协议开发的痛点,推出这套面向Modbus 协议初学者的课程。本课程不同于以往市面课程只是协议讲解无实现代码,而是采用讲解与实践并重的方式,结合STM32F103ZET6开发板进行手把手编程实践,十分有利于初学者学习。涵盖了学习者在Modbus协议方面会遇到的方方面面的问题,是目前全网首个对Modbus协议进行全面总结的课程。课程名称   协议讲解及实现>>课程内容1、Modbus 协议的基础。2、Modbus协议栈函数编程实现。3、Modbus协议在串行链路编程实现。4、Modbus协议在以太网链路编程实现。5、常见问题的解决方法。带给您的价值通过学习本课程,您可以做到如下:1、全面彻底的理解Modbus协议。2、理解在串行链路,以太网链路的实现。3、掌握Modbus协议解析的函数编程方法,调试工具的使用。4、掌握多个串口,网口同时运行同一Modbus协议栈的方法。5、掌握Modbus协议下,负数,浮点数等处理方法。讲师简介许孝刚,山东大学工程硕士,副高职称,技术总监。10多年丰富嵌入式系统开发经验,国家软考“嵌入式系统设计师”。2017年获得“华为开发者社区杰出贡献者”奖励。

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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