Salut,
Je viens de rencontrer un problème un peu bizarre.
Dans mon code C, j'utilise une fonction :
Code:unsigned char get_key() { unsigned char i,k,key=0; ... }
La compilation fonction nickel.
Au premier appel de cette fonction, pas de problème.
Par contre au deuxième appel, la variable key (et les autres peut être aussi) n'est pas initialisée à la valeur 0 mais à la valeur qu'avait la variable key à la fin de cette même fonction lors de son premier appel.
Bizzare non ?
Pour y remédier, j'ai d^y faire ça :
Code:unsigned char i,k,key=0; i=0; k=0; key=0;
J'ai donc l'impression que le fonction de Hi Tech C ou du PIC fait que toutes les variables déclarées dans le code sont créées au démarrage du PIC et qu'après le code les utilises.
Parce que normalement, arrivé en fin de fonction , la variable devrait être détruire et une nouvelle se crée lorsque la fonction est de nouveau rappelée.
Si quelqu'un peut m'éclairer...
Merci.
-----