Bonjour,
J'ai un programme qui marchait jusqu'à maintenant et qui plante depuis 3 jours aléatoirement sur le SD.Begin. J'ai soupçonné un dépassement de RAM donc je n'ai laissé que le setup et mon loop vide mais pas mieux.
Je transfert ce code allégé deux trois fois et d'un coup ça remarche. J'ai changé de carte Arduino, d'ethernet shield, de carte SD mais toujours pareil. Lorsque ca remarche je remet tout mon code, ca remarche nickel mais après quelques transferts replantage.
Mon matériel : Arduino mega 2560 , ethernet shield rev3
Ma version de logiciel :Arduino 1.0.3
Auriez vous une idée (je joins mon code allégé au cas où)
//**********************************************************************************************************************************
//**********************************************************************************************************************************
#include <Ethernet.h>
#include <SD.h>
#include <SPI.h>
/* Détails technique de la connexion ethernet */
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = {
192,168,1, 177 };
byte gateway[] = {
192,168,1, 1 };
// Attachement d'un objet "server"
EthernetServer server(80);
//**********************************************************************************************************************************
//**********************************************************************************************************************************
void setup()
{
// Variables d'Usage
int Resultat_fct = false;
// Initialisation port serie
Serial.begin(115200);
// Affichage de la SRAM utilisée
// Serial.print(F("Memoire SRAM restante :"));
// Serial.println(freeRam());
// Affectation des directions pins
pinMode(53, OUTPUT); // broche de selection WIZNET
pinMode(4, OUTPUT); // broche de selection SD card
digitalWrite(4,LOW);
digitalWrite(53,HIGH);
// Initialisation de la carte SD avec broche 4 en tant que CS
Resultat_fct=SD.begin(4);
if (Resultat_fct!=true)
{
Serial.println(F("Echec initialisation SD!"));
}
// Initialisation de la librairie ethernet
Ethernet.begin(mac, ip, gateway);
server.begin();
}
//**********************************************************************************************************************************
// MAIN
//**********************************************************************************************************************************
void loop()
{
// Scrutation reseau
}