Modifications

Sauter à la navigation Sauter à la recherche
228 octets ajoutés ,  1 mai 2016 à 13:27
Ligne 122 : Ligne 122 :     
== Stocker des données en Flash ==
 
== Stocker des données en Flash ==
If you're used to AVR, you've probably used PROGMEM to let the compiler know you'd like to put a variable or string in flash memory to save on RAM. On the ARM, its a little easier, simply add const before the variable name:
+
Si vous êtes un habitué des AVR, vous avez probablement déjà utilisé PROGMEM qui vous permet de compiler une chaîne de caractère dans la mémoire Flash et permet d'économiser de la RAM.  
 +
 
 +
Sur un ARM, c'est même encore plus simple, il suffit d'ajouter un {{fname|const}} devant le nom de la variable:
    
  <nowiki>const char str[] = "My very long string";</nowiki>
 
  <nowiki>const char str[] = "My very long string";</nowiki>
   −
That string is now in FLASH. You can manipulate the string just like RAM data, the compiler will automatically read from FLASH so you dont need special progmem-knowledgeable functions.
+
Cette chaine est maintenant en FLASH. Vous pouvez manipuler la string (chaîne de caractère) comme s'il s'agissait d'une donnée en RAM, le compilateur fera le nécessaire pour effectuer les lectures en FLASH (vous n'avez donc pas besoin de connaître et utiliser les fonctions ''progmem'').
   −
You can verify where data is stored by printing out the address:
+
Vous pouvez vérifier où sont stockées les données en affichant leur adresse:
    
  <nowiki>Serial.print("Address of str $"); Serial.println((int)&str, HEX);</nowiki>
 
  <nowiki>Serial.print("Address of str $"); Serial.println((int)&str, HEX);</nowiki>
   −
If the address is $2000000 or larger, its in SRAM. If the address is between $0000 and $3FFFF Then it is in FLASH
+
Si l'adresse est $2000000 ou supérieur, c'est stocké en SRAM. Si l'adresse est entre $0000 et $3FFFF alors c'est stocké en FLASH
 +
 
 
{{FEATHER-M0-TRAILER}}
 
{{FEATHER-M0-TRAILER}}
29 917

modifications

Menu de navigation