在arduino的SPI中一起使用以太网和SD卡

时间:2015-07-31 09:18:15

标签: arduino ethernet arduino-uno spi

我正在尝试在单个项目中使用以太网模块ENC28J60(http://www.amazon.com/ENC28J60-Ethernet-Network-Module-STM32/dp/B008B4QIV2)和SD卡模块。我必须从网络读取数据并将其写入micro SD卡。

我怎样才能做到这一点?我正在通过下面的草图获得以下输出

initialization done.
DONE Ethernet as well with IP: 255.255.255.255

SD卡已正确初始化,但以太网未正常初始化。 我分别使用引脚10,4用于以太网,SD卡的CS。

程序如下

#include "SD.h"
#include "SPI.h"
#include "Ethernet.h"

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,200);
IPAddress gateway(192,168,1,99); 
IPAddress mask(255,255,255,0); 

//File myFile;
EthernetServer server(80);

void setup()
{
  Serial.begin(9600);
  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }else {
   Serial.println("initialization done.");
  }

  Ethernet.begin(mac, ip,gateway,gateway,mask);
  server.begin();
  delay(5000);
  Serial.print("DONE Ethernet as well with IP: ");
  Serial.println(Ethernet.localIP());


}


void loop(){
  //todo

}

1 个答案:

答案 0 :(得分:0)

只需将两个CS引脚声明为输出即可。它将起作用。