我需要在Linux上测试一个串口应用程序,然而,我的测试机器只有一个串口.

有没有办法向Linux添加虚拟串行端口,并通过shell或脚本模拟设备来测试我的应用程序?

注意:我无法重新映射端口,它是在ttys2上硬编码的,我需要在编写应用程序时对其进行测试.

推荐答案

您可以使用pty("伪电传 typewriter ",其中串行端口是"真实电传 typewriter ").从一端打开/dev/ptyp5,然后将程序连接到/dev/ttyp5ttyp5将像串行端口一样工作,但将通过/dev/ptyp5发送/接收它所做的一切.

如果你真的需要它与一个名为/dev/ttys2的文件进行对话,那么只需将旧的/dev/ttys2移到一边,并将符号从ptyp5链接到ttys2即可.

当然你可以用ptyp5以外的数字.也许可以 Select 一个数字高的,以避免重复,因为您的所有登录终端也将使用PTY.

维基百科有更多关于PTY的信息:http://en.wikipedia.org/wiki/Pseudo_terminal

Linux相关问答推荐

PERF显示不应该执行指令的内核的用户空间周期

无法下载Centos 7上的存储库的元数据

Git在某些文件中添加回车符,尽管autocrlf已关闭

如何添加Linux格式的时间输出

使用 AWK 过滤 Linux 输出

将特定列转换为行

根据外部请求在 Netbeans 中启动 XDebug

是否可以使用 shell 脚本递归地创建文件夹?

/usr/local/bin/ 中Collection的权限被拒绝

如何在 shell 脚本中只读取一个字符

更改核心转储的位置

C.UTF-8 和 en_US.UTF-8 语言环境有什么区别?

将以前忽略的目录添加到 Git 存储库

grep 时间命令输出

如何 grep 精确的文字字符串(无正则表达式)

SVN 错误:无法将字符串从本机编码转换为UTF-8

./studio.sh 之后的 Android Studio 错误

如何知道是否有足够的内存可以在 Linux 机器上部署新应用程序?

在 reverse-i-search (Ctrl+R ) , 历史上类似命令之间切换的任何方法

网络共享文件夹上的 GIT 存储库中的并发性