Приобрел: Mega IO Shield v2.4 http://amperka.ru/product/arduino-mega-io-shield Не получается опросить встроенную SD карту, пины все перепробовал, форумы все перечитал ни один костыль не срабатывает , SD-ха 2 Гб Fat16. Если кто нибудь имел дело, буду очень благодарен совету.
4-й пин - SS SD карты на Mega iIO шилде. Соответствено, его и уквзать при объявлении класса карты. На FAT16 не пробовал. Работало с FAT32 32Г
Да вроде все так и сделал: по крайне мере программно - перебрал все варианты. Надо что либо механически замкнуть переключить, или другое шаманство ? Код (Text): Sd2Card card; SdVolume volume; SdFile root; // change this to match your SD shield or module; // Arduino Ethernet shield: pin 4 // Adafruit SD shields and modules: pin 10 // Sparkfun SD shield: pin 8 const int chipSelect = 4; void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } Serial.print("\nInitializing 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(SS, OUTPUT); // we'll use the initialization code from the utility libraries // since we're just testing if the card is working! while (!card.init(SPI_HALF_SPEED, chipSelect)) { Serial.println("initialization failed. Things to check:"); Serial.println("* is a card is inserted?"); Serial.println("* Is your wiring correct?"); Serial.println("* did you change the chipSelect pin to match your shield or module?"); }
Странно как-то работа с SD картой идет. Я как-то привык к SD.begin(chipSelect); SD.open; Это особенность Due? И еще. На IO Shield вроде есть переключатель питания - внешнее/от ардуины. Точно не знаю, но питание кпрты может быть на это дело завязано.
Также проблемой может стать, что Due - трехвольтовая плата, в то время как Mega IO Shield v2 предназначен для пятивольтовой Mega. В теории, конечно, шилдом могут поддерживаться и 3.3 вольт платы (некоторые шилды вроде так реально "умеют", и 3.3, и 5), но не факт, что оно так. В результате шилд может понижать и без того низкие логические уровни Due до неразличимых SD картой уровней.
На шилде вроде клемы для этого есть специальные и переключатель ... хотелось бы доверять производителю Но судя по объему и качеству доступной документации ... это не первая и не последняя Due которая падет под моими умелыми руками. Раньше опыта общения с такими железками не было .. решил чуть чуть поувлекатся .. к сожалению пока не так все радужно