Bonjour,
j’essaie d'écrire un programme et je ne comprend le résultat que me fournie mon code.
Je vous met le code et le résultat.
struct StrucPosBra
{
unsigned int Servo1;
unsigned int Servo2;
unsigned int Servo3;
unsigned int Servo4;
unsigned int Servo5;
unsigned int Servo6;
unsigned int Divers1;
unsigned int Divers2;
unsigned int Divers3;
unsigned int Divers4;
};
StrucPosBra PosOld= {0,0,0,0,0,0,1000,0,0,0};
StrucPosBra PosBra;
setup
position (0,100);
void position (byte a, int vitesse) {
Serial.println ("Dans fonction position *-*-*");
EEPROM.get ((a * NbOcPos * 10), PosBra); // car 2 octets *10 par position
Serial.println (PosBra.Servo1);
Serial.println (PosOld.Servo1);
Serial.println ("*-*-*");
Serial.println (PosBra.Divers1);
Serial.println (PosOld.Divers1);
Serial.println ("*-*-*");
Serial.println ((PosOld.Servo1)-(PosBra.Servo1));
Serial.println (abs(PosOld.Servo1-PosBra.Servo1));
}
J'ai mis uniquement ce qui me semblais pertinent.
et le résultat :
Dans fonction position --*
2
0 --*
0
1000 --*
65534
65534
0
Bonjour,
merci pour votre aide.
En effet , votre analyse est la bonne.
Concernant mon commentaire, en fait il s agit d'un morceau de code d'un programme beaucoup plus grand.
Initialement la ligne été:
EEPROM.get ((a * 2* 10), PosBra); // car 2 octets *10 par position
ce qui me permet que chaque incrémentation de "a" écrive la structure en EEPROM au bon endroit.