Bonjour,
J'ai plusieurs capteurs qui communique avec une base par l'intermédiaire de nrf24l01.
Pour que la base interroge chacun des capteurs, je définis leurs adresses ainsi
const byte numSlaves = 5;
const byte slaveAddress[numSlaves][5] = {"00110", "00111", "00112", "00113", "00114"};
Mon problème est que je ne connais pas le nombre de capteurs à interroger lors de l'initialisation, le programme permet d'ignorer les capteurs "00111" et "00112" par exemple.
Je n'arrive à gérer dynamiquement mon tableau.
J'ai essayé
byte slaveAddress[][5] = {0,};
slaveAddress[1][5] = "00111";
le compilo ne bronche pas mais cela ne fonctionne pas.
Merci de votre aide
byte slaveAddress[][5] = {0,};
slaveAddress[1][5] = "00111";
le compilo ne bronche pas mais cela ne fonctionne pas.
Il devrait hurler. Tu affectes l'adresse d'une chaîne de caractères à un byte.
Avec le compilateur ESP32 :
sketch_feb16a:4: error: invalid conversion from 'const char*' to 'byte {aka unsigned char}' [-fpermissive]
slaveAddress[1][5] = "00111";
Utilise des pointeurs :
byte *slaveAddress[5];
slaveAddress[0] = (byte *)"00111";
Le cast (byte *) sur AVR est superflu mais indispensable sur ESP.
J-M-L
February 16, 2020, 1:28pm
4
hbachetti:
Il devrait hurler. Tu affectes l'adresse d'une chaîne de caractères à un byte.
et en plus un cString comme "00110"
c'est 6 caractères, pas 5....
Bonjour zjbjbjbz
zjbjbjbz:
le compilo ne bronche pas mais cela ne fonctionne pas.
Merci de votre aide
Pas de warning ?
Avec Uno et les bonnes options j'obtiens (gratuitement) :
C:\Users\PHILIP~1\AppData\Local\Temp\arduino_modified_sketch_340833\sketch_feb16a.ino:7:20: warning: invalid conversion from 'const char*' to 'byte {aka unsigned char}' [-fpermissive]
slaveAddress[1][5] = "00111";
Cordialement,
bidouilleelec
Tu as donc retiré l'option -fpermissive de platform.txt ?
Bonsoir hbachetti
hbachetti:
Tu as donc retiré l'option -fpermissive de platform.txt ?
Non , je n'ai rien retiré.
Cordialement,
bidouilleelec
Peut être que cette option hérétique a été retirée dans ta version d'IDE.
Dans la 1.8.5 il faut le faire manuellement.
hbachetti:
Peut être que cette option hérétique a été retirée dans ta version d'IDE.
Dans la 1.8.5 il faut le faire manuellement.
Je ne saisis pas bien ce que vous voulez dire.
J'utilise la version 1.8.9 Windows sans modification.
Cordialement,
bidouilleelec