Отправить файл 16 КБ из spiffs в крошечный MCU через последовательный

Мне нужно отправить файл 16 КБ в другой MCU через последовательный порт, который использует следующий протокол:

Я отправляю 256 байтов и останавливаюсь и жду, пока не получу OK1, затем отправляю еще 256 байтов и останавливаюсь и снова жду, пока получу OK2... и так далее до конца этих 16 КБ.

Я использую SPIFFS и мне интересно, как подойти к проблеме. Я нахожу, что я могу сделать file.readBytes() а также file.seek(offset, SeekCur),

И посчитай и прибавь и так далее. Или есть более простой способ решения задачи?

У меня есть пример кода:

void outbound_transfer(String filename) {
  File f = SPIFFS.open(filename, "r");
  size_t fsize = f.size();
  // create buffer for read
  char buff[128] = { 0 };
  int i;
  while (f.available()) {
    Serial.println("f is available");
    size_t len = fsize;
    Serial.println(f.readBytes((char *)buff[i], 128));
    i++;
    Serial.println("OK");
  }
  f.close();
}

Но я не знаю, должен ли я читать блок или буфер. И как? И тогда он автоматически переместится на 128 байт (параметр длины в readBytes) вперед или мне нужно использовать file.seek(offset, SeekCur)?

0 ответов

Другие вопросы по тегам