【问题标题】:The command "cat" wont read my serial port命令“cat”不会读取我的串口
【发布时间】:2014-07-12 19:31:54
【问题描述】:

我的 arduino 连接到我的 mac,通过 /dev/tty.usbserial-A5025XZE 串口发送温度。每一秒我都希望我的脚本保存通过串口发送的内容,但是当我尝试时

cat /dev/tty.usbserial-A5025XZE >log.txt

它不会向文件写入任何内容,并且该命令似乎没有运行,我必须使用 control - z 来取消它。

【问题讨论】:

  • Ctrl-Z 不会取消而是暂停进程。您可能必须在重新运行之前终止该命令的早期实例。 kill %1 应该杀死它。
  • cat 可能正在缓冲其输出,因此在获得大量输入(如 4K)之前它不会写入文件。
  • @Barmar cat 没有缓冲,除非你有一个奇怪的构建。见en.wikipedia.org/wiki/Cat_(Unix)
  • 我也有同样的问题,只是我想查看/dev/tty.SLAB_USBtoUART的内容

标签: bash arduino


【解决方案1】:

命令在等待来自串行端口的数据时被阻止。你的 Arduino 没有发送任何东西。

【讨论】:

  • 当我使用屏幕时,我可以看到通过的信息吗?
  • @lewis 您可以编写一个非常短的 C 程序,该程序可以无缓冲地读取并写出以明确证明是这种情况,但我 100% 确定 cat 已经在为您执行此操作。您可能会在屏幕上看到数据,但由于某种原因它没有进入串行端口。
  • @lewis 等等,让我确保我明白你在说什么。当你说“屏幕”时,你的意思是说“cat /dev/tty.usbserial- A5025XZE" 您在控制台窗口上看到文本,但重定向到文件似乎没有任何作用,或者您在谈论其他屏幕?
  • @lewis 你确定你有正确的串口设备吗?谷歌搜索似乎表明您想从 /dev/ttyUSB0 或类似的内容中读取。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-14
  • 2014-06-19
  • 2019-09-14
  • 2011-07-15
相关资源
最近更新 更多