在arduino的SdFat中重写行

时间:2019-02-25 11:41:38

标签: arduino

我的问题是我试图使用Arduino,ESP8266 SDcard模块和一些传感器来制作Controller。当我尝试在SD卡中存储一些数据时,第一次都可以正常工作,但是在第二或第三次时,我需要用不同的值重写同一行。但是存在一个问题,因为行长与先前的不相等。 如果更长,则没什么错,但是如果更长,则将留下一些不必要的字符。 最困难的部分是我需要存储LED灯的价值和时间的地方: 255 10 0其中255表示LED值,10小时,0分钟 值可以是1或3个字符长,小时1或2,最小1或2 ...

那么这个问题有什么解决办法吗?

现在,我试图将int更改为uint8_t以等于所有可能的值。 这种方法对吗?也许有人做了类似的事情?

任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以按照建议对数据进行标准化,以使行长始终相同。

一种方法是,所有值均为uint8_t,这需要3个uint8_t值。

另一个是将其保留为字符串,但是每个字段都是固定宽度的,带有填充值。例如0050901在第9小时1分钟的第5个值。或用空格填充  5 9 1,以表示此数据。 (5之前的两个空格和9和1之前的空格)。

这两种方法都不错,仅取决于您的喜好或在使用和/或写入数据时更容易些。