Bonjour,
j'utilise un soft pour gérer une communication modbus, et pour comprendre son fonctionnement, je fais du pas à pas, mais il y a un passage que je ne comprend pas.
j'ai comme déclaration:
Code:
union transform{
struct twoBytes{
unsigned char lowByte;
unsigned char highByte;
}bytes;
unsigned int integer;
}T;
unsigned char buffer[74]; et je ne comprend pas l'avant dernière ligne de ce morceau:
Code:
T.bytes.lowByte = buffer[3];
T.bytes.highByte = buffer[2];
T.integer*=2;
buffer[2] = buffer[5]*2;
Alors pour les lignes 1 et 2, buffer[3] = 0XF5 et buffer[1] = 0x01,
donc T.bytes.lowByte = 0XF5 et T.bytes.highByte = 0x01 donc "integer" = 0x01F5, mais après, je ne vois pas du tout ce que ça fais le :
par contre "integer" = 0x03EA
T.bytes.lowByte = 0XEA
T.bytes.highByte = 0x03
Quelqu'un peut m'expliquer ce que ça fait exactement??
Si vous souhaiter plus d'info sur le soft, je peux vous transmettre le tout.
Bonne fin de journée a tous