Ошибка чтения/записи SD-карты Arduino Mega

У меня есть Arduino Mega 2560, в котором я использовал модуль карты microSD для чтения/записи данных на карту Micro SD. Я попытался использовать пример в Arduino IDE, но данные не записываются и не считываются Arduino в модуль SD-карты. Соединения с модулем точно такие, как описано в скетче. Я приложил фотографии подключения и модуля, который я использую для того же самого.

Пример скетча для чтения/записи SD-карты также прилагается.

Если есть проблема, которую вы можете заметить, пожалуйста, скажите, в чем проблема и можно ли ее решить.

Заранее благодарю вас.

/*
SD card read/write

This example shows how to read and write data to and from an SD card file
The circuit:
* SD card attached to SPI bus as follows:
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 4 (for MKRZero SD: SDCARD_SS_PIN)

created   Nov 2010
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe

This example code is in the public domain.

*/

#include <SPI.h>
#include <SD.h>

 File myFile;

 void setup() {
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
     while (!Serial) {
        ; // wait for serial port to connect. Needed for native USB port only
      }


 Serial.print("Initializing SD card...");

 if (!SD.begin(4)) {
 Serial.println("initialization failed!");
 return;
  }

  Serial.println("initialization done.");

  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
   myFile = SD.open("test.txt", FILE_WRITE);

  // if the file opened okay, write to it:
    if (myFile) {
    Serial.print("Writing to test.txt...");
    myFile.println("testing 1, 2, 3.");
    // close the file:
    myFile.close();
    Serial.println("done.");
     } else {
     // if the file didn't open, print an error:
     Serial.println("error opening test.txt");
   }

    // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
   Serial.println("test.txt:");

    // read from the file until there's nothing else in it:
     while (myFile.available()) {
     Serial.write(myFile.read());
     }
    // close the file:
    myFile.close();
     } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
     }
    }

    void loop() {
   // nothing happens after setup
     }

Соединение с Arduino Модуль SD-карты

, 👍0


1 ответ


1

Проводка SPI, описанная в скетче примера SD-карты, предназначена для Uno. На Mega контакты SPI-это 50 MISO, 51 MOSI и 52 CLK.

,

SD.начало(53); для 53 в качестве CS для SD-карты, @Juraj

Огромное спасибо. Я сверюсь с вашей информацией и обновлю вас., @Keshav K

Я очень сожалею о задержке. Я попробовал, и это сработало. Я не мог вернуться в StackExchange из-за того, что застрял с другими проектами. Большое вам спасибо за вашу помощь., @Keshav K

@keshav-k, вы могли бы принять ответ, чтобы отметить его решенным, @Juraj