我计划使用 Arduino 构建一个电流记录设备,并尝试从 Arduino IDE sketchbook 中的基本 SD 卡写入示例开始。
串行控制台没有显示任何错误,因此我认为一切正常。
但是...当我将卡插入计算机(Ubuntu 18.04)并用gedit打开它时,文件是空白的? Vim 也有同样的行为:它是空白的。
但是...当我使用猫在文件上,它确实显示了内容?!
有人知道我在这里做错了什么吗?
编辑:回应博多的问题:
猫的输出:
...
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
答案1
正如编辑中所示,答案如下:
执行od -c -tx1 数据记录.TXT |头-1
给了我这个:
0000000 \r \n \r \n \r \n \r \n \r \n \r \n \r \n \r \n
这暗示我该文件开头可能有一堆换行符,内容尾随。事实证明确实如此。这就是为什么文件在 gedit 和 vim 中显示为空,但在 cat 中则不然。因为我只会在终端中看到 cat 的最后几行。