Bonjour,fait ?
Je communique avec des NRF2401.
Lors du write, il me semble que je devrais recevoir la valeur 1 si l'envoi est fait, mais j'ai toujours 0.
if ( radio.write( &buf, BufferLength -2)==1)
Un bug de la librairie ?
Sébastien
Bonjour,fait ?
Je communique avec des NRF2401.
Lors du write, il me semble que je devrais recevoir la valeur 1 si l'envoi est fait, mais j'ai toujours 0.
if ( radio.write( &buf, BufferLength -2)==1)
Un bug de la librairie ?
Sébastien
la communication passe ??
si vous regardez le code ça retourne bien 0 ou 1 s'il y a eu un ACK
jetez un oeil ici aussi, ça peut se produire si l'alimentation n'est pas assez bonne
Oui, la communication passe nickel. Bon il ne faut pas oublier les condos sur l'alim!
Mais cette valeur de retour m'interroge...
Incompatibitilé entre buf et BufferLength ?
plutôt l'ACK qui ne revient pas, donc write() ne sait pas que le message est passé
Et le Ack, (question bête) il vient de où?
J'ai bien radio.setAutoAck(true); // Ensure autoACK is enabled
Oui,
merci, le test fonctionne.
Je vais adapter à mon cas et je redis....
Bon, j'ai avancé.
Le problème est que dans setup de l'émetteur, j'ai:
radio.openReadingPipe(0,listening_pipes[0]);
parce qu j'aimerais recevoir une réponse.
et là , je ne vois pas comment faire start / stop de la réception....
la doc a un warning sur le pipe0
If the reading pipe 0 is opened by this function, the address passed to this function (for pipe 0) will be restored at every call to startListening(), but the address for pipe 0 is ONLY restored if the LSB is a non-zero value.
Read Maniacal Bits: Improve RF24 Radio Performance With Proper Addressing Schemes to understand how to avoid using malformed addresses. This address restoration is implemented because of the underlying neccessary functionality of openWritingPipe().
jetez un oeil sur mon autre exemple qui fait un échange de structures
Re-merci,
je crois que j'ai compris.....
Ce qu'il n'aime pas :radio.openReadingPipe(0,listening_pipes[0]);
C'est le 0, avec 1 l'envoi se fait correctement
Je dois encore tester la réception maintenant....
le pipe 0 est réservé à l'émission je crois
Ok, tout va bien.....
Comme je fait des tests à 30 cm,
le radio.setPALevel(RF24_PA_MAX);
Je crois que c'était pas une bonne idée!
oui
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.