Bonjour à tous,
J'ai remarqué que ma carte Arduino UNO arrêtai de fonctionner quand la taille du programme devenais trop grande (bien avant que 100% du processeur soit utilisé)
Voici un exemple:
#include <SoftwareSerial.h>
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
String PadAvecZero(int donnee, int NombreChar)
{
char* strdonnee;
char strzero[20] = "0000000000000000000" ;
String myString = String(donnee);
if (myString.length() < NombreChar){
String myString = strzero + String(donnee);
myString = myString.substring(myString.length()-NombreChar);
return myString;
}
else {
return myString;
}
}
void Log(char* donnee,boolean FinDeLigne)
{
String temp;
DateTime now = RTC.now();
Serial.print(PadAvecZero(now.year(), 4));
Serial.print("/");
Serial.print(PadAvecZero(now.month(), 2));
Serial.print("/");
Serial.print(PadAvecZero(now.day(), 2));
Serial.print(" ");
Serial.print(PadAvecZero(now.hour(), 2));
Serial.print(":");
Serial.print(PadAvecZero(now.minute(), 2));
Serial.print(":");
Serial.print(PadAvecZero(now.second(), 2));
Serial.print(" ");
Serial.print(donnee);
if (FinDeLigne == true){
Serial.println();
}
}
void setup() {
Serial.begin(115200);
Wire.begin();
RTC.begin();
RTC.adjust(DateTime(__DATE__, __TIME__));
Log("Début du programme",true);
delay(5000);
}
void loop() {
Log("bonjour",true);
delay(500);
Log("Ceci est un test, c'est aussi un programme qui ne sert pas à grand chose!",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf as2fasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
}/*
Log("asdfasfasfasfdasf asdg1v afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfas1dfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asd1fsdfasdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd as1dfsdfasdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd as1dfsdfa1sdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd as1dfsdfasdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdf1sdfasdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfa1sdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf as1dfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdf1a sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasd1fa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfa1sdf asdfasd1fa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf as6f asfd asdf asfd asd1fsdfasdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf5 asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asd4f asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf a4sdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfasfasd3fasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfjaffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afasdf asf asdf asf asfas3fasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfadfffsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asd3gv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfafsadfsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf as3dgv af3asdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfafdfsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afas3df asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffaaddsafsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afa3sdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsafqsasf",true);
delay(500);
Log("asdfasfasfasfdasf asdgv afa2sdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsawerfsasf",true);
delay(500);
Log("asdfasfasfa1sfdasf asdgv afas1df asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsreafsasf",true);
delay(500);
Log("asdfasfasfa5sfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffwsafsasf",true);
delay(500);
Log("asdfasfasf4asfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffwersafsasf",true);
delay(500);
Log("asdfasfasf3asfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffwsafsasf",true);
delay(500);
Log("asdfasfasf2asfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsayufsasf",true);
delay(500);
Log("asdfasfas1fasfdasf asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsayufsasf",true);
delay(500);
Log("asdfasfas1fasfdasf2 asdgv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsayufsasf",true);
delay(500);
Log("asdfasfas1fasfdasf asd2gv afasdf asf asdf asf asfasfasdfasdfsfasdf fsadf asdf asdf asdf asdf asf asf asfd asdf asfd asdfsdfasdfasdf asdfasdfa sdfaffsayufsasf",true);
delay(500);
}
*/
(Inutile de me dire que ce programme est inutile, je le sais déjà, c'est seulement pour donner un exemple... )
Chez moi, ce programme fonctionne très bien, je vois les lignes de textes dans mon moniteur série)
Par contre si on enlève le commentaire sur la partie du bas, plus rien de fonctionne??
Pourquoi cela ne fonctionne plus??? Quelqu'un peut m'expliquer??