Tôi muốn kết nối board Ethernet (W5100 HR911105A)
để Arduino Leonardo
với SPI và tôi cũng muốn đọc SD kết nối. Khi tôi kiểm tra các bảng này riêng biệt mọi thứ làm việc. Nhưng khi tôi kết nối chúng trên cùng một bảng, chương trình không thành côngEthernet.begin();
#include <SPI.h>
#include <Ethernet.h>
#include <SD.h>
#define SS_SD_CARD 4
#define SS_ETHERNET 10
const char CONFIG_FILE[] = "system.cfg";
byte C_MAC[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress S_IP(192,168,0,19);
IPAddress C_IP(192, 168, 0, 177);
const uint16_t S_PORT = 8090;
EthernetClient client;
void setup() {
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
pinMode(SS_SD_CARD, OUTPUT);
pinMode(SS_ETHERNET, OUTPUT);
digitalWrite(SS_SD_CARD, HIGH);
digitalWrite(SS_ETHERNET, HIGH);
digitalWrite(SS_SD_CARD, LOW);
SD.begin(SS_SD_CARD);
digitalWrite(SS_SD_CARD, HIGH);
Serial.println("Setup ethernet");
digitalWrite(SS_ETHERNET, LOW);
if (Ethernet.begin(C_MAC) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
Ethernet.begin(C_MAC, C_IP);
}
delay(100);
Serial.println("connectin...");
bool result = client.connect(S_IP, S_PORT);
Serial.println("connected");
digitalWrite(SS_ETHERNET, HIGH);
}
void loop() {
Serial.println("loop...");
delay(1000);
}
Tôi đã thử trên Leonardo và Mega 2560.