Не работает handmade SD-shield

staromand
Offline
Зарегистрирован: 17.09.2012

Сделал плату по схеме

всё звонится где надо и не звонится где не надо.

в плате проблем нет сто процентов, всё проверил-перепроверил тысячу раз

вот так моя сборка выглядит

Проверяю скетчем:

#include <SD.h>

File myFile;

void setup()
{
  Serial.begin(9600);
  Serial.print("Initializing SD card...");
  // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
  // Note that even if it's not used as the CS pin, the hardware SS pin 
  // (10 on most Arduino boards, 53 on the Mega) must be left as an output 
  // or the SD library functions will not work. 
  pinMode(10, OUTPUT);

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

  myFile = SD.open("test.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()
{
}

в коде написано, что если у нас Mega, то меняем пин 10 на 53, но не помогает. (У меня Mega2560)

то ли я не разберусь, где у меня SPI, то ли читаю не правильно код, то ли вообще не понимаю ничего

вроде не переполнение RAM, все библиотеки отрабатывают, т.к. пишет

 initialization failed!

 

жду ответа

leshak
Offline
Зарегистрирован: 29.09.2011

 http://arduino.cc/en/Reference/SD

Читаем про пины для меги. Там далеко не только 10->53 говорится.

>то ли я не разберусь, где у меня SPI

Открываем описание своей платы http://arduino.ru/Hardware/ArduinoBoardMega2560

Находим раздел "Входы и Выходы". В нем подраздел "SPI" и смотрим.

То же самое можено сделать с уной. Посмотреть ге у нее SPI. Тогда снатен понятно какие пины "переехали" на меге :)

>жду ответа

А что обычно кто-то описывает проблему, задает вопросы и не ждет ответы? Только "ждать" наверное стоит не "ответы", а "подсказки". Ответы вам, в любом случае, прийдется искать самому. Плата-то у вас в руках.

staromand
Offline
Зарегистрирован: 17.09.2012

 спасибо за напутствие, всё завелось :D

Оказывается можно ещё ICSP блок использовать для этого, ништяк!

leshak
Offline
Зарегистрирован: 29.09.2011

staromand пишет:

Оказывается можно ещё ICSP блок использовать для этого, ништяк!

Иш ты, че чтение Документации Животворящей с людьми делает :)

staromand
Offline
Зарегистрирован: 17.09.2012

на VCC вывод карты мы подаем 3.3, а как же тогда быть? Ведь на ICSP вывод пятивольтовый

 трансформировать в 3.3 ещё раз?

maksim
Offline
Зарегистрирован: 12.02.2012

Поставить стабилизатор на 3.3 вольта или брать 3.3 вольта с вывода 3.3 дуины.

staromand
Offline
Зарегистрирован: 17.09.2012

 ясно, всем спасбо