【问题标题】:SD.open(...) Timeout How can I set it?SD.open(...) Timeout 如何设置?
【发布时间】:2022-12-05 20:14:57
【问题描述】:

当我打开一个文件 SD.open(...) 时,如果没有 microsd,它会在 1 秒后告诉我它出错了。如何设置更短的超时时间? 这将是一个硬运行时软件,即使没有 microsd 运行也必须继续,并且不能停止 1s。 我希望你能帮帮我, 谢谢你。

我期待这个问题的解决方案。

【问题讨论】:

  • 时间长通常是由 SPI 总线问题引起的。错误的 CS 引脚或其他设备阻塞总线
  • microsd 将用于火箭。我永远不会知道是否会出现问题。所以我想不管通信问题是什么,都将超时设置为 0。

标签: arduino esp32 freertos


【解决方案1】:

您可以通过对特定文件使用exists() 来查看 SD 卡是否可用:

void loop()
{
    if (SD.exists("testfile.dat"))
        Serial.println("File exists so SD is available");
    else
        Serial.println("File does NOT exist or SD is unavailable");

   delay(1000);
}

【讨论】: