Не могу зацепить SD к Mega2560

Dpakon
Offline
Зарегистрирован: 12.01.2014

Здравствуйте! Помогите пожалуйста с подключением SD карточки к MEGA2560 R3.

Загружаю код в мегу



#include <SD.h>

File myFile;

void setup()
{
  Serial.begin(9600);
  Serial.print("Initializing SD card...");
  pinMode(53, OUTPUT);

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

  // открываем файл. заметте, что только один файл может быть открыт за раз,
  // поэтому вы должны закрыть этот, чтобы открыть другой.
  myFile = SD.open(".txt", FILE_WRITE);

  // если файл нормально открылся, запишем в него:
  if (myFile) {
    Serial.print("Writing to test.txt...");
    myFile.println("testing 1, 2, 3.");
    // закрываем файл:
    myFile.close();
    Serial.println("done.");
  } else {
    // а если он не открылся, то печатаем сообщение об ошибке:
    Serial.println("error opening test.txt");
  }

  // откроем файл снова, для чтения:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");

    // читаем из файла, пока не достигнем конца файла:
    while (myFile.available()) {
      Serial.write(myFile.read());
    }
    // закрываем файл:
    myFile.close();
  } else {
    // а если не открылся, то пишем об ошибке:
    Serial.println("error opening test.txt");
  }
}

void loop()
{
  // больше делать нечего, но тут мог бы быть ваш код
}

Все останавливается на Initializing SD card...initialization failed! Дальше надписей ни каких нет. Сидел с пол часа ждал когда появится. Initializing SD card...initialization failed! появляется секунды через 3-4, а дальше тишина. Почему же программа останавливается?
С платой в этот момент происходит следующее. Светодиод L горит постоянно пока запущен мониторинг порта. В момент появление надписи коротко моргает светодиод на передачу данных. А дальше тишина (
Запускал и с флешкой и без нее. Результат одинаков.

Запускал плату отдельно без подключения шилдов и ждал ошибки, но дальше Initializing SD card...initialization failed! дело не пошло. Плата такая http://www.ebay.com/itm/MEGA2560-R3-development-board-2012-New-ATMEGA16U2-Arduino-Compatible-USB-Cable-/300864192890?pt=LH_DefaultDomain_0&hash=item460ce7417a, правда покупал у другого продовца. Началось все после того как не пошел проект умного дома, а точнее не удалось достучаться до SD флешки на 3.2" TFT Touch LCD SD Card 

m0rjjj
m0rjjj аватар
Offline
Зарегистрирован: 02.09.2013

Dpakon пишет:

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

Извиняюсь конечно, но что вы еще ждете после return в setup() ?

Dpakon
Offline
Зарегистрирован: 12.01.2014

Дело втом, что код писал не сам, а нашел на просторах интернета. С програмированием у меня пока туго, только учусь. Я больше по электронной части. Я понимаю, что ошибка в том куске кода что вы показали, а вот где? Распишите пожалуйста детальнее.

razario
Offline
Зарегистрирован: 10.01.2014

Dpakon пишет:

Все останавливается на Initializing SD card...initialization failed! Дальше надписей ни каких нет. Сидел с пол часа ждал когда появится. Initializing SD card...initialization failed! появляется секунды через 3-4, а дальше тишина. Почему же программа останавливается?

Вам человек пишет зачем Вы ждете, там же написано, если инцилизация не прошла, то return. return значит зачершение - выход из метода, функции, то есть если Вы увидели надпись initialization failed! то метод setup уже не выполняется и ничего вы больше не увидите. Так понятно? В Вашем случае так как в loop тоже ничего не происходит, то Вы вообще больше ничего не увидите.