我正计划用 Arduino 构建当前的日志记录设备,并尝试从 Arduino IDE 速写本中的基本 SD 卡写入示例开始。
串行控制台没有显示任何错误,所以我认为一切正常。
但是...当我将卡插入计算机(Ubuntu 18.04)并用 gedit 打开它时,文件是空白的?Vim 有同样的行为:它是空白的。
但是...当我在文件上使用cat时,它确实显示了内容?!
有人知道我在这里做错了什么吗?
编辑:针对 Bodo 的问题:
猫的输出:
...
TEST
TEST
TEST
TEST
TEST
TEST
372,345,324
342,340,330
331,332,328
327,325,324
322,320,318
317,315,313
313,310,309
...
(这应该是里面的东西)
输出 ls -l:
total 16
-rw-r--r-- 1 myname myname 15161 Jan 1 2000 DATALOG.TXT
od -c -tx1 DATALOG.TXT 的输出 | 头-1:
0000000 \r \n \r \n \r \n \r \n \r \n \r \n \r \n \r \n
最后一个回答了我的问题......它显示了一堆换行符。但真的......很多......这解释了为什么 gedit 和 vim 显示空文件。在看到实际数据之前,我必须向下滚动很长时间。使用 cat 时,我只看到了尾随行,所以它显示了内容。将数据保存到 SD 卡时可能出现问题。谢谢博多!您仅通过提出问题就解决了我的问题:D
如编辑中所示,这是答案:
执行od -c -tx1 DATALOG.TXT | 头-1
给了我这个:
这暗示我该文件可能在开头有一堆换行符,内容尾随。事实证明是这样的。这就是为什么文件在 gedit 和 vim 中显示为空的原因,但在 cat 中却没有。因为我只会在终端中看到 cat 的最后几行。