Bonjour à tous.
N'ayant pas trouvé la solution pour stocker des fichiers de 80 octets sur SPIFFS ou avec LittleFS, j'ai tenté de le faire dans un premier temps en vain avec la librairie ArduinoNVS puis avec Preferences.
Dans ces deux derniers cas, il parait impossible de stocker plus de 8 octets: l'enregistrement se passe bien mais à la relecture le fichier est vide.
La routine d'enregistrement:
Le résultat indique bien le nombre d'octets enregistré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Preferences pref; //*********Enregistrement en NVS d'un programme complet (10 manip de 8 octets) 6x => Px x=0 a* 9 case '6':{ String tempo=""; char nFic[3]; nprog = ci(com[1]); //numero de programme Conversion ASCII en Numérique if(!(nprog>=0 && nprog<=9)) afficErreurs(prg); else{ nFic[0]= 'P'; nFic[1]=com[1]; nFic[2]='\0'; //numero de fic Px avec x=0 à 9 for(int i=0;i<80;i++){ tempo += pg[nprog][i]; //char pg[10][80]; 10 programmes de 8*10 manips } int size = pref.putString(nFic,tempo); //dans le fichier Px on enregistre tout le programme x lcd.clear();lcd.print(size); delay(2000); lcd.clear(); } } break;
Mais à la relecture, l'enregistrement est vide.
Si quelqu'un a une idée pour ce problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 //****affichage memoire programmee x ***** case '5':{ String tempo=""; char prog[3]; prog[0]='P'; prog[1]= com[1]; prog[2]='\0'; tempo = pref.getString(prog,""); for(i=0;i<10;i++){ lcd.clear(); lcd.print(String(prog) + " " + String(i)); lcd.setCursor(0,1); lcd.print(tempo.substring(i*8,i*8+8)); //affichage par 8 octets delai('s',2); } } break;
Partager