Go Down

Topic: [Résolu] Pb avec SD.begin() (Read 1 time) previous topic - next topic

harold44

Aug 02, 2016, 04:43 pm Last Edit: Aug 02, 2016, 06:00 pm by harold44
Bonjour,
Je viens de voir un petit soucis et je ne vois pas ou je me trompe.
Code: [Select]

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Initializing SD card...");

//***Ligne qui pose problème**********************

if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }

//*******************************************
   Serial.println("initialization done.");
   // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");

    // read from the file until there's nothing else in it:
    while (myFile.available()) {
      Serial.write(myFile.read());
    }
    // close the file:
    myFile.close();
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }

 
 
 
 
  // reserve 200 bytes for the inputString:
inputString.reserve(200);
   
  pinMode(inPin6, INPUT);
  pinMode(inPin7, INPUT);
  pinMode(13, OUTPUT); 

 
   
 
}

void loop() {
  // put your main code here, to run repeatedly:

 Serial.print("freeMemory()=");
    Serial.println(freeMemory());
 
    digitalWrite(13,HIGH);
  delay(1000);
 }


Lorsque je rentre ce code avec la ligne SD.begin(4), je ne vois pas ma sortie 13 s'allumer alors qu'elle le devrait. J'ai une arduino uno r3 avec un shield ethernet avec un emplacement SD. Je ne me sert que de la carte sd dans ce projet.
Merci d'avance
Stéphane

J-M-L

pourquoi vous mettez le 4 dans SD.begin(4);? c'est normalement la chip select de la carte SD qui va être gérée par le SPI directement - à mon avis c'est la hardware SS pin = pin 10

essayez juste avec un SD.begin();
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

harold44

Le 4 était présent dans l'exemple, mais même sans rien mettre, il bug quand même et c'est çà que je ne comprend pas. Je ne vois pas ma sortie s'activer si je met cette ligne qui est là pour s'assurer que la carte SD est bien là si j'ai bien compris. 


harold44

Je vais faire sans si la carte marche. Mais c'est étonnant alors que je n'ai pris que les exemples sans modification au départ.

harold44

J'ai trouvé des explications mais c'est pas clair.
http://embedjournal.com/arduino-sd-card-initialization-failed/
Ces lignes ne sont pas nécessaire pour le fonctionnement de mon programme, donc je vais m'en passé.
Car si je les mets, au démarrage ma led s'allume et s'éteint aussitôt.
Merci encore
Stéphane

J-M-L

rajoutez juste dans le setup()

digitalWrite(10,HIGH);
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

harold44

Je vais regarder.
Merci
Stéphane

Go Up