Go Down

Topic: Stocker des constantes dans un fichier annexe? (Read 478 times) previous topic - next topic

inrepublica

Bonjour,

Dans un de mes petits programmes j'ai besoin de stocker plusieurs constantes qui vont me servir a afficher des bitmap à l'aide de la librairie de chez Adafruit.

Un exemple:
Code: [Select]

const unsigned char icone01d [] PROGMEM = {
0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x03, 0x00,
0x18, 0x00, 0xc0, 0x03, 0x80, 0x00, 0x01, 0xc0, 0x01, 0xc0, 0x00, 0x03, 0x80, 0x00, 0xe0, 0x00,
0x07, 0x00, 0x00, 0x60, 0x7e, 0x06, 0x00, 0x00, 0x01, 0xff, 0x80, 0x00, 0x00, 0x07, 0xff, 0xe0,
0x00, 0x00, 0x0f, 0x81, 0xf0, 0x00, 0x00, 0x0e, 0x00, 0x70, 0x00, 0x00, 0x1c, 0x00, 0x38, 0x00,
0x00, 0x1c, 0x00, 0x38, 0x00, 0x00, 0x38, 0x00, 0x1c, 0x00, 0x00, 0x38, 0x00, 0x1c, 0x00, 0xfe,
0x38, 0x00, 0x1c, 0x7f, 0xfe, 0x38, 0x00, 0x1c, 0x7f, 0x00, 0x38, 0x00, 0x1c, 0x00, 0x00, 0x38,
0x00, 0x1c, 0x00, 0x00, 0x1c, 0x00, 0x38, 0x00, 0x00, 0x1c, 0x00, 0x38, 0x00, 0x00, 0x0e, 0x00,
0x70, 0x00, 0x00, 0x0f, 0x81, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x01, 0xff, 0x80,
0x00, 0x00, 0x60, 0x7e, 0x06, 0x00, 0x00, 0xe0, 0x00, 0x07, 0x00, 0x01, 0xc0, 0x00, 0x03, 0x80,
0x03, 0x80, 0x00, 0x01, 0xc0, 0x03, 0x00, 0x18, 0x00, 0xc0, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,};


Comme j'en ai une bonne dizaine à utiliser je me demandais s'il est possible de les stocker dans un fichier annexe afin de ne pas surcharger mon fichier principale.

A l'aide d'un #include icone.ino est-ce possible?

Merci de votre aide.

jfs59

Bonjour,

bien sur il suffit de les mettre dans un fichier images.h et de faire un include
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours.

Lao Tseu.

inrepublica

Merci de votre réponse! S'il s'agit d'un fichier .h le code doit être en C et non plus en code arduino non? Par exemple si j'ajoute des fonctions dans ce .h je peux toujours utiliser la syntaxe Arduino?

_pepe_

#3
Dec 07, 2017, 02:09 pm Last Edit: Aug 19, 2018, 03:58 am by _pepe_
Supprimé

_pepe_

#4
Dec 07, 2017, 02:27 pm Last Edit: Aug 19, 2018, 03:58 am by _pepe_
Supprimé

inrepublica

Si je comprend bien ce que vous me préconisez il me faut deux fichiers, icone.h qui déclare les tableaux et icone.c qui les définis? Avec icone.h qui inclut icone.c?

_pepe_

#6
Dec 07, 2017, 03:07 pm Last Edit: Aug 19, 2018, 03:58 am by _pepe_
Supprimé

inrepublica

Ok super, merci pour vos conseils. Je m'en vais tester ça!

inrepublica

Je viens de tester, c'est nickel. J'ai juste changé <avr/pgmspace.h> par <pgmspace.h> car j'utilise un ESP8266.

Encore merci!

Go Up