我正在编写一个JUnit测试来测试我的应用程序.该应用程序是用 Java编写的,并使用purejavacomm库.为了测试串行解析器,我想设置一个虚拟串口,以便测试可以与解析器通信.除了简单的解析之外,它还可以在可用时动态连接到串口,因此我不想使用PipedInputStream.

此库仅查找以ttyS,ttyUSB或ttyACM开头的设备文件.因此,我不能做常规(这会产生/ dev / pts / x中的串口):

socat -d -d pty,raw,echo=0 pty,raw,echo=0

我试过做:

socat /dev/ttyS20 /dev/ttyS21

但它不起作用.它不会退出,也不会打印错误.我尝试用屏幕连接到/ dev / ttyS20,但它只是说,[屏幕正在终止].

我查看了ttyS20(和21)的用户权限,他们都有我的用户所在的组,拨出(用户:root)(chris).

我是否忽略了权限?有没有更好的方法一起完成这一切?

最佳答案 您需要将新创建的ptys链接到另一个位置

socat -u -u pty,raw,echo=0,link=/dev/ttyS20 pty,raw,echo=0,link=/dev/ttyS21

使用socat创建虚拟端口后,尝试更改管道两端的所有权以允许更轻松的访问.

sudo chown user:user /dev/ttyS20

sudo chown user:user /dev/ttyS21

您还可以使用chmod将权限更改为777.

java socat_linux – socat两个串口一起相关推荐

  1. java获取已经打开的串口的输出流_使用Java读取串口的程序(转)

    这个简单的程序包括以下文件: IMU.java (主程序) ReadBuffer.java (从缓冲区读取一个消息) ReadSerial.java (读取串口数据并放入缓冲区) SerialBuff ...

  2. java基于RXTXcomm.jar的串口通信

    java基于RXTXcomm.jar的串口通信 RXTX的下载及配置 mfz-rxtx-2.2-20081207-win-x64       下载地址:http://download.csdn.net ...

  3. Java中的两个关键字——super、this

    Java中的两个关键字--super.this 神话丿小王子的博客主页 一.super super 是java中方的一个关键字,用它可以引用父类中的成员: super可用于访问父类中定义的属性 sup ...

  4. java中判断两个字符(或者字符串相等)

    string a,b;//两字符串 在java中判断两个字符(字符串)相等,用a.equals(b); if(a.equals(b)){ //如果相等,返回值为true }else{ //如果不相等, ...

  5. Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言)

    ** Leetcode刷题 225题:用队列实现栈(基于Java和c++两种语言) ** 题目: 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top( ...

  6. PHP中调用Java类的两个办法

    Java语言功能强大,因此在许多情况下在php中来调用Java的功能将十分有用.在php中调用Java语言有两种方法,一种是使用php中的Java扩展模块,另一种是使用minij2ee应用服务器提供的 ...

  7. Java技术分享:升级所安装Java版本的两种方式

    在进行Java开发的时候我们可能会需要升级所安装的Java版本,那么你知道应该如何安装吗?小千今天就来给大家介绍两种方式. 一.卸载掉原本安装的Java,下载最新安装包安装即可. 这个步骤就不介绍了, ...

  8. java : enum、创建文件和文件夹、删除文件和文件夹、获得项目绝对路径、写入数据到excel中、java代码中两种路径符号写法、读取、写入text文件...

    java : enum http://www.cnblogs.com/hyl8218/p/5088287.html 创建文件和文件夹.删除文件和文件夹 http://www.cnblogs.com/m ...

  9. java迭代器删除两个_两个迭代器的故事

    java迭代器删除两个 当您查看最流行的Java面试问题时,您可能会遇到有关故障快速和故障安全迭代器的问题: 故障快速迭代器和故障安全迭代器之间有什么区别? 简化的答案是: 如果在迭代过程中修改了集合 ...

最新文章

  1. lua元表和元方法 《lua程序设计》 13章 读书笔记
  2. 初探swift语言的学习笔记一(基本数据类型)
  3. Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.INT
  4. leetcode面试题 17.07. 婴儿名字(并查集)
  5. 图论 —— 最短路 —— Dijkstra 算法
  6. javascript-流程控制-循环-分支-三元运算符
  7. 执行带返回参数的存储过程
  8. pythonsocket自定义协议_Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器...
  9. linux怎么加块硬盘,如何给linux添加一块硬盘
  10. 【kafka】生产者速度测试
  11. linux 游戏手柄 驱动,forev手柄驱动
  12. 在Android上实现汉字笔顺动画效果
  13. 万字长文带来2021最稳C/C++学习路线
  14. 教你学Python38-利用SVD简化数据
  15. 计算机考试不在学籍库,有消息!中考报名将由学籍库直接导入,取消学校考试排名........
  16. python杀毒软件程序_使用Python Shells绕过杀毒软件
  17. WEB应用开发设计实验报告四
  18. 堆和栈的区别 之 数据结构和内存
  19. 书生云签10亿元、EB级订单,中国超融合迎来春天
  20. c语言 char* 参数,深入理解c语言中两级指针(char **pptr)的参数的用法

热门文章

  1. 数字信号处理中小波消噪原理、应用及代码实现
  2. Dell r710安装esxi 黑群晖DS3615xs 解决无法分配ip、系统重复还原、端口无法更改的问题
  3. 气象数据NC批量转TIF及月尺度计算年尺度-同理其他指标
  4. Python上手就有
  5. Python爬取网络段子
  6. 火车头采集器向dedecms发布文章,使阅读权限为待审核稿件
  7. 区块链技术,让数字政务跑出“加速度”
  8. ONNX 模型图优化
  9. stm32-esp8266驱动程序
  10. 无底色 无背景 logo 图标