1284p Ethernet Shield

Ehrlich gesagt hab ich nichts anders gemacht wie die letzten Tage auch :blush:
Am ICSP: MOSI, MISO, SCK, GND, VCC mit
1284p: PB5, PB6, PB7, GND, VCC verbunden. Der PIN 10 am Ethernet Shield sollte laut Datenblatt an PB4 aber funktioniert nur an PB2.
AREF und RESET muss dazu nicht angeschlossen werden.
Die 100nF müssen auch nicht sein (zumindest Funktioniert auch ohne)

Die SD Karte ist nun mein nächstes Problem.

Der PIN 10 am Ethernet Shield sollte laut Datenblatt an PB4 aber funktioniert nur an PB2.

Welches Datenblatt? Der entsprechende Port wird in der Bibliothek ausgewählt und für alle nicht speziell aufgeführten Prozessoren wird Port B2 genommen (Fallback).

Die SD Karte ist nun mein nächstes Problem.

Welchen Pin gibst Du denn als CS an? Ausser dem CS müssen wie bei Ethernet SCKL, MISO und MOSI verbunden sein. Dazu Masse und Stromversorgung.

Laut meinem Sketch

// pin 4 is the SPI select pin for the SDcard
const int SD_CS = 4;

Minimal_Arduino18.png

ICSP.png

Dann muss Pin 4 vom Ethernet Shield an PB4.

Am ICSP: MOSI, MISO, SCK, GND, VCC mit
1284p: PB5, PB6, PB7, GND, VCC verbunden. PIN10 an PB2 und PIN4 an PB4.

die gleiche Ausgabe:

Free RAM: 14572
Setting up SD card...
card failed
vol.init failed!
openRoot failedSetting up the Ethernet card...
Web server starting...
Ready to accept HTTP requests.

Welcher Sketch liefert diese Ausgabe?

Blöde Frage, aber: Die SD-Karte ist im Slot und kann vom UNO aus angesprochen werden?

Das Leben kann so schön sein...

Mit UNO läuft das natürlich.

Hier der Sketch http://pastebin.com/mFpQVK1N

SD ist natürlich drin.
Library TinyWebServer

EDIT: So siehts mit UNO aus

Free RAM: 404
Setting up SD card...
Setting up the Ethernet card...
Web server starting...
Ready to accept HTTP requests.

Was ist der Wert von card.errorCode() wenn die Initialisierung schief geht?

Serial << F("Der Karten Fehler ") << card.errorCode() << "\n";

Gibt eine 0

Du hast also

  if (!card.init(SPI_FULL_SPEED, 4)) {
    Serial << F("card failed\n");
    Serial << F("Der Karten Fehler ") << card.errorCode() << "\n";
    has_filesystem = false;
  }

in Deinem Code und das ergibt eine 0? Das kann eigentlich nicht sein, ich hab's allerdings nur für die aktuelle IDE überprüft (1.0.4).

Öhm ne, sorry. Egal an welchen PIN ich PB4 oder PB0 stecke, zeigt Fehler 1 an. Auch wenn ich die SD Karte nicht rein stecke, ist Fehler 1

Was heißt das nun?

Versuche mal

if (!card.init(SPI_FULL_SPEED, 4)) {

durch

if (!card.init(SPI_HALF_SPEED, 4)) {

oder sogar

if (!card.init(SPI_QUARTER_SPEED, 4)) {

zu ersetzen.

PB0 und PB4 mit PIN4 am Shield zeigt immer das gleiche

Free RAM: 14572
Setting up SD card...
card failed
Der Karten Fehler 1
vol.init failed!
openRoot failedSetting up the Ethernet card...
Web server starting...
Ready to accept HTTP requests.

Aber Du kannst nach diesem Setup problemlos über Ethernet auf den Webserver zugreifen?

Nein, ohne SD läuft hier nix.
Das Webduino RGB funktioniert weil da keine SD benötigt wird. Wenn ich aber bei Webduino SD rein stecke, funktioniert nix mehr.

Das verstehe ich nicht. Hängt die Funktion des Webservers jetzt davon ab, ob die SD-Karte im Slot ist, oder meinst Du mit Webduino RGB bzw. Webduino SD andere Sketches? Die Ethernet-Karte müsste ja auch funktionieren, wenn die SD-Karte nicht verfügbar ist.

Egal welchen Sketch ich nehme, wo die SD nicht benötigt wird aber im Slot drin ist, hab ich keine Verbindung mehr mit dem Server (bei UNO).
Blöde Frage, aber: Was muss ich alles anschließen?
An ICSP ist MOSI, MISO, SCK, VCC, GND
PIN 10 ist mit PB2
PIN 4 ist mit PB4
RESET ist an RESET am 1284p

Egal welchen Sketch ich nehme, wo die SD nicht benötigt wird aber im Slot drin ist, hab ich keine Verbindung mehr mit dem Server (bei UNO).

Mit dem UNO sollte es gehen, wenn Du im setup() folgende Zeilen einbaust (am Anfang, vor Ethernet.begin()):

pinMode(4, OUTPUT);
digitalWrite(4, HIGH);

Damit wird die SD-Karte deaktiviert.

Blöde Frage, aber: Was muss ich alles anschließen?
An ICSP ist MOSI, MISO, SCK, VCC, GND
PIN 10 ist mit PB2
PIN 4 ist mit PB4
RESET ist an RESET am 1284p

Das müsste eigentlich genügen. Hast Du die Kondensatoren in der Stromversorgung drin?

Hast Du die Kondensatoren in der Stromversorgung drin?

WIE WO WAS?

EDIT: Brauch die SD Karte 3.3V oder 5V?
Habe nämlich nur den 5V angeschlossen.
Mit 3.3V auch probiert aber dasselbe Ergebnis.

WIE WO WAS?

Die Glättungskondensatoren, damit die Stromversorgung des 1284p gleichmässiger wird. Das Problem ist, wenn die Spannung abfällt, kann es sein, dass die Betriebspannung der SD-Karte nicht mehr erreicht wird.

EDIT: Brauch die SD Karte 3.3V oder 5V?

Die Karte braucht 3V3, aber die werden aus den 5V auf dem Ethernet Shield selbst erzeugt (Linearer Spannungsregler onboard).