我的问题是我试图使用Arduino,ESP8266 SDcard模块和一些传感器来制作Controller。当我尝试在SD卡中存储一些数据时,第一次都可以正常工作,但是在第二或第三次时,我需要用不同的值重写同一行。但是存在一个问题,因为行长与先前的不相等。 如果更长,则没什么错,但是如果更长,则将留下一些不必要的字符。 最困难的部分是我需要存储LED灯的价值和时间的地方: 255 10 0其中255表示LED值,10小时,0分钟 值可以是1或3个字符长,小时1或2,最小1或2 ...
那么这个问题有什么解决办法吗?
现在,我试图将int更改为uint8_t以等于所有可能的值。 这种方法对吗?也许有人做了类似的事情?
任何建议将不胜感激。
答案 0 :(得分:0)
您可以按照建议对数据进行标准化,以使行长始终相同。
一种方法是,所有值均为uint8_t
,这需要3个uint8_t值。
另一个是将其保留为字符串,但是每个字段都是固定宽度的,带有填充值。例如0050901
在第9小时1分钟的第5个值。或用空格填充 5 9 1
,以表示此数据。 (5之前的两个空格和9和1之前的空格)。
这两种方法都不错,仅取决于您的喜好或在使用和/或写入数据时更容易些。