Выбор контакта SdFat.h ESP8266

Этот очень простой код, который сохраняет данные в файл csv, прекрасно работает на моем Arduino Uno (я использую контакты SPI по умолчанию).

Однако для моего проекта мне нужно использовать ESP8266. Использует ли библиотека автоматически контакты SPI по умолчанию для других плат?

В своем коде я попытался изменить вывод CS с 10 на 15 для ESP8266. Все, что я получаю, это «Ошибка инициализации»! Я полагаю, мне нужно как-то изменить другие контакты SPI, такие как MOSI, MISO и SCK. Есть ли способ сделать это? Я абсолютный нуб, поэтому заранее прошу прощения, если я просмотрел какое-то простое решение.

#include <SdFat.h>

SdFat sd;
SdFile file;

void setup() {
  Serial.begin(9600);
  if (!sd.begin(10, SD_SCK_MHZ(50))) {
    Serial.println("Initialization failed!");
    return;
  }

  if (!file.open("data.csv", O_RDWR | O_CREAT | O_AT_END)) {
    Serial.println("Error opening file!");
    return;
  }

  file.println("Sensor1,Sensor2,Sensor3");
}

void loop() {
  float sensorReading1 = 1;
  float sensorReading2 = 1;
  float sensorReading3 = 1;

  file.print(sensorReading1);
  file.print(",");
  file.print(sensorReading2);
  file.print(",");
  file.println(sensorReading3);

  file.sync();

  delay(1000);
}

, 👍1


1 ответ


0

Я просто попробовал еще раз и каким-то образом мне удалось заменить SD_SCK_MHZ(50), который работал на моем Arduino Uno, на SPI_HALF_SPEED. Теперь тот же код, что и выше, отлично работает на моем esp8266.

,