Бибилиотека SD и Arduino MEGA2560
- Войдите на сайт для отправки комментариев
Втр, 25/07/2017 - 11:23
Доброго времени суток!
Пытаюсь подключить к Arduino sd-карту. Начал с запуска примера CardInfo и сразу же столкнулся с трудностями: пример не компилируется. В начале были следующие ошибки:
Arduino: 1.8.3 (Windows 8), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp: In member function 'void Sd2Card::chipSelectHigh()':
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp:172:5: error: 'SDCARD_SPI' was not declared in this scope
SDCARD_SPI.endTransaction();
^
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp: In member function 'void Sd2Card::chipSelectLow()':
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp:181:5: error: 'SDCARD_SPI' was not declared in this scope
SDCARD_SPI.beginTransaction(settings);
^
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp:181:33: error: 'settings' was not declared in this scope
SDCARD_SPI.beginTransaction(settings);
^
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp: In member function 'uint8_t Sd2Card::init(uint8_t, uint8_t)':
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp:280:3: error: 'SDCARD_SPI' was not declared in this scope
SDCARD_SPI.beginTransaction(settings);
^
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp:280:31: error: 'settings' was not declared in this scope
SDCARD_SPI.beginTransaction(settings);
^
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp: In member function 'uint8_t Sd2Card::setSckRate(uint8_t)':
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp:522:14: error: 'settings' was not declared in this scope
case 0: settings = SPISettings(25000000, MSBFIRST, SPI_MODE0); break;
^
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp:522:57: error: 'SPI_MODE0' was not declared in this scope
case 0: settings = SPISettings(25000000, MSBFIRST, SPI_MODE0); break;
^
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp:522:66: error: 'SPISettings' was not declared in this scope
case 0: settings = SPISettings(25000000, MSBFIRST, SPI_MODE0); break;
^
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp: In member function 'uint8_t Sd2Card::setSpiClock(uint32_t)':
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp:538:3: error: 'settings' was not declared in this scope
settings = SPISettings(clock, MSBFIRST, SPI_MODE0);
^
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp:538:43: error: 'SPI_MODE0' was not declared in this scope
settings = SPISettings(clock, MSBFIRST, SPI_MODE0);
^
C:\Program Files (x86)\Arduino\libraries\SD\src\utility\Sd2Card.cpp:538:52: error: 'SPISettings' was not declared in this scope
settings = SPISettings(clock, MSBFIRST, SPI_MODE0);
^
exit status 1
Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560.
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Начитавшись в интернетах, я закомментировал строки "#define USE_SPI_LIB" в Sd2Card.h и в Sd2Card.c. Вылезли следующие ошибки.
Arduino: 1.8.3 (Windows 8), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"
C:\Program Files (x86)\Arduino\libraries\SD\src\SD.cpp: In member function 'boolean SDLib::SDClass::begin(uint32_t, uint8_t)':
C:\Program Files (x86)\Arduino\libraries\SD\src\SD.cpp:352:15: error: 'class Sd2Card' has no member named 'setSpiClock'
card.setSpiClock(clock) &&
^
C:\Program Files (x86)\Arduino\libraries\SD\src\SD.cpp:355:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
exit status 1
Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560.
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Помогите разобраться с ними, пожалуйста!
В природе есть нормально работающие библиотеки, стоит только поискать
Ссылку, плз.