【问题标题】:Arduino SD card need Write only to reduce memoryArduino SD卡需要只写以减少内存
【发布时间】:2015-09-06 16:09:52
【问题描述】:

我使用的是 Uno、GPS+SD 卡护罩和 LCD 显示屏,并且在使用 SD 时仅使用了 35% 的内存,一切运行良好。当我为 SD 卡添加 SPI 和 SD 库时,它们加起来又吃掉了 45%,我收到了关于内存减少和性能不可靠风险的警告。而且,它们是正确的,因为有时写入 SD 无法按预期工作。

GPS/LCD 在自己的草图中工作正常。 SD/SPI 在他们自己的草图中工作正常。但是当我组合代码时,我会遇到内存问题。

由于我只需要以 CSV 格式写入 SD 卡,因此我正在寻找一个精简的/SD/SPI 组合,因为我可以使用 PC 读取数据。我四处搜寻,发现了一些可能,但它们都是旧的,而且只有 FAT16。我需要使用 FAT32,所以我目前卡在 SD/SPI 上。

我已经订购了一个 Arduino Mega,因为它有 8M 内存,所以问题应该会消失,但是我的卡车的仪表板上已经安装了原始 GPS,我必须为 Mega 重建支架和项目箱,所以想用 Uno 的 4MB 解决内存问题。我只会使用 Mega 来确保完整的 Sketch 可以正常工作,而且只需 14 美元,没有大笔测试费用。

任何人都可以提供 SD/SPI 组合的精简版本,因为在我添加这些库之前,我的代码已经足够紧凑了。

【问题讨论】:

  • 嗯,你应该已经有了 SD 和 SPI 库的源代码,因为它们捆绑在 Arduino 安装中。你可以自己拆,因为我认为这样的特殊情况并不常见,所以你将无法轻易找到它。无论如何,未使用的函数通常不会被编译,因此通过删除它们,您将不会获得任何空间。我建议您查看库并尝试找到不需要的缓冲区并将它们删除...

标签: arduino arduino-uno


【解决方案1】:

或者,您可以获得 GPS 库的精简版本。 NeoGPS 可以配置为非常小,无论是在 RAM 和 FLASH 方面。它也是目前最快的库。我写它是因为我和你有同样的问题:在较小的 Arduinos 中组合多个库揭示了所有其他 GPS 库中的膨胀:句子和数据的缓冲副本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多