首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仿真串口

仿真串口
EN

Stack Overflow用户
提问于 2014-03-21 20:27:25
回答 1查看 11.7K关注 0票数 12

是否有可能创建一个通过“虚拟”串口发送数据的“虚拟”串行设备?我需要开发一些代码来与Arduino进行交互,但不要带着它。是否可以使用套接字或一些写入dev/ttyXXX文件的代码来完成?

编辑:我在运行Arch

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-21 23:49:39

是的,您可以使用套接字来模拟串口。

您需要使用socat的PTY地址类型:

代码语言:javascript
复制
PTY: Generates a pseudo terminal (pty) and uses its master side. Another
process may open the pty's slave side using it like a serial line or
terminal.

最简单的选择是:

代码语言:javascript
复制
socat PTY,link=./virtual-tty,raw,echo=0 -

让您正在测试的应用程序打开virtual-tty。应用程序的输出将打印到控制台。您输入的文本将发送到您的应用程序。

如上所述,PTY地址类型创建一个peudo-terminallink选项在伪终端和给定文件之间创建一个软链接.你可以选择任何你想要的文件名。如果没有软链接,您将需要打开设备,很难确定正确的设备。raw将伪终端置于原始模式.您通常希望这样做,因为您不需要任何特殊的终端处理选项。echo=0禁用回波模式。

如果您有(或创建)一个模拟在Arduino上执行的代码的应用程序,您也可以通过socat连接它。如果模拟器通过stdin/stdout进行通信,那么使用以下命令:

代码语言:javascript
复制
socat PTY,link=./virtual-tty,raw,echo=0 EXEC:simulator-command

以上所述将simulator-command的stdin/stdout连接到伪终端。

如果模拟器也通过串口进行通信,那么可以使用PTY命令两次:

代码语言:javascript
复制
socat PTY,link=./arduino-sim,raw,echo=0 PTY,link=./virtual-tty,raw,echo=0

让模拟器打开arduino-sim

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22568878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档