Добрый день Имеется Nano, к которой по SPI подключен CAN-шилд. К ней же требуется подключить ещё и модуль для SD-карты (например, Тройка-модуль от Амперки). Вопросы: 1) Как мне подключить модуль к SPI в качестве второго устройства? Как я понимаю, MISO, MOSI и SCK будут общие, а CS - разные, так? 2) Также к Nano подключен GPIO expander. Можно ли подключить SD модуль к нему напрямую? Заранее спасибо!
Сегодня пришел SD-адаптер от Амперки. Пробую в одиночном режиме, чтобы потом использовать два SPI-устройства на одной Nano. (вторым устройством будет MCP2515_CAN). Проверяю реакцию на сигнал по CS в одиночном режиме: Код (C++): 01 #include <SD.h> 02 #include <SPI.h> 03 #define SD_CS_PIN 8 04 05 File TF1; 06 int i = 0; 07 String fname = "test3.txt"; 08 09 void setup() { 10 Serial.begin(9600); 11 pinMode(SD_CS_PIN, OUTPUT); 12 if (!SD.begin(SD_CS_PIN)) { 13 Serial.println("Card failed, or not present"); 14 return; 15 } else { 16 Serial.println("Card initialized."); 17 } 18 } 19 20 void loop() { 21 22 digitalWrite(SD_CS_PIN, HIGH); 23 TF1 = SD.open(fname, FILE_WRITE); 24 TF1.println("CS HIGH"); 25 TF1.close(); 26 27 digitalWrite(SD_CS_PIN, LOW); 28 TF1 = SD.open(fname, FILE_WRITE); 29 TF1.println("CS LOW"); 30 TF1.close(); 31 32 delay(2000); 33 } В файле - и "CS HIGH" и "CS LOW" Что-то делаю неправильно или это адаптер игнорирует управление по CS?