尝试在Cygwin中第二次访问串行端口时访问被拒绝

时间:2013-04-09 16:01:39

标签: cygwin arduino

我正在尝试从连接到Arduino的USB串口获取数据。我正在使用Cygwin,我写了

cat /dev/ttyS4

输出shell中的数据。

当我停止这个过程时,我得到了

  

拒绝访问

当我再次尝试访问它时。我必须关闭Cygwin,再打开它并输入相同的内容 命令将输出传递给shell。

我注意到我只能从一个程序中读取串口。例如,如果我从Arduino软件的串口读取数据,我就无法在Cygwin中访问它。

有没有办法可以在Cygwin中多次访问串口数据而无需关闭程序,再打开它并用相同的命令写入?

1 个答案:

答案 0 :(得分:0)

似乎语句cat /dev/ttyS4将从串行端口回显字符,直到到达文件末尾。只是本质上,串口永远不会到达终点。因此,您需要安排输入“结束”。一种方法是让Arduino将文件结束字符(control-D)放入输出流。另一种方法是使用所谓的“heredoc”,你可以通过它告诉它寻找一个字符串来结束,详见this question

但是,这仍然存在许多问题。一个是,控制-C不会关闭对串口的访问似乎是错误的。另一个是,我在我的机器上试过这个,我无法解决你提出的问题。所以,这就是我所能提供的。