Je regarde l'exemple de code trouvé ici . Je sais qu'il y a 6 tuyaux que le module nRF24L01 peut utiliser mais j'ai cherché sur Internet les désignations d'adresse et je n'ai rien trouvé. Plus précisément, à la ligne 37, existe-t-il une référence indiquant où l'auteur obtient 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL?
Merci.
arduino-uno
nrf24l01+
Alex H
la source
la source
openReadingPipe()
ici: maniacbug.github.io/RF24/… il mentionne que vous pouvez utiliser n'importe quelle valeur pour le dernier octet d'adresse.0x...
préfixe est juste pour indiquer que la valeur est en hexadécimal. En effet, 99 en décimal est différent de 99 en hexadécimal, même s'ils se ressemblent. Donc, à la place, nous utilisons 0x99.Réponses:
Comme la plupart des gens l'ont publié, les valeurs du canal sont arbitraires, mais doivent suivre les règles de l'API:
Avant de répondre à votre question, je pense qu'une explication sur les valeurs hexadécimales et décimales est nécessaire.
L'hexadécimal 40 bits est une représentation numérique de la base 16. Une décimale est de la base 10. Vous pouvez donc convertir une valeur hexadécimale en décimal. Comme cela est hors de portée pour la question, vous pouvez rechercher sur Google comment convertir de l'un à l'autre. Il existe des convertisseurs en ligne:
Convertisseur hexadécimal en décimal
Vous verrez lorsque vous convertissez la valeur hexadécimale en décimal, que ce n'est qu'une représentation numérique. Lorsque vous convertissez, vous supprimez le
0x
etLL
. Comme indiqué, le0x
indique que la valeur est une valeur hexadécimale etLL
signifie le type Long Long .Donc, pour répondre à votre question, utilisez le convertisseur a pour trouver un nombre hexadécimal comme:
Modifiez simplement les 2 derniers chiffres (bit le moins significatif):
Ajoutez le
0x
etLL
Tout devrait fonctionner.
Je ne suis pas un expert en hexagone, car j'apprends, donc si je me trompe, alors s'il vous plaît, corrigez-moi.
Enfin, la fiche technique nRF24L01 souligne que le choix de l'adresse n'est pas totalement arbitraire:
la source
where the author is getting 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL?
, pas comment les tuyaux sont utilisés.Les valeurs
0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL
sont des valeurs arbitraires et définissent les adresses des expéditeurs et des récepteurs à qui parler.Si vous utilisez la bibliothèque Mirf
ils peuvent aussi être des cordes
serv1
.RF24
les usagesla source
Il y a quelque chose que tout le monde oublie de vous dire:
Les tuyaux au niveau du récepteur doivent être raccourcis après le premier
Les tuyaux au niveau de l' émetteur doivent être
Si vous voulez savoir quel message de pipe est venu, utilisez
Le tube numéro 6 est également utilisé pour recevoir des messages d' accusé de réception .
De plus, le code d'initialisation doit avoir
radio.enableDynamicPayloads();
Celui-ci fonctionne bien pour moi:Bonne chance...
la source
pipe
défini comme dans votre exemple?