Bonjour
Ce n'est pas lié aux librairies Arduino mais au langage C. Un fichier .h peut contenir des définitions de structures, des defines ou des fonctions. Mais les variables simples comme gch_caractere_recu doivent être limitées à un source.
Si on veut pouvoir partager un entier toto entre plusieurs sources; il faut:
1 : déclarer dans un fichier .c ou .ino un et un seul 'int toto;' désignant ainsi ce fichier auprès de l'éditeur de liens comme le 'propriétaire' de la variable, celui qui lui donne de sa mémoire pour son stockage.
2 : dans tous ceux qui veulent l'utiliser 'extern int toto;' , disant à l'éditeur de liens (le linker) que cette variable devra être présente dans un autre source et qu'ici on ne lui donne pas de mémoire.
Le plus simple est de rapatrier ces variables dans le source .c de la librairie, quitte à prévoir une petite fonction int GetToto() pour ceux qui voudraient l'utiliser...