Como la mayoría de la gente ha publicado, los valores para la tubería son arbitrarios, pero deben seguir las reglas según la API:
Las tuberías 1-5 deberían compartir los primeros 32 bits. Solo el byte menos significativo debe ser único, p. Ej.
Antes de responder a su pregunta, creo que se necesita una explicación sobre los valores hexadecimales y decimales.
El hexadecimal de 40 bits es una representación numérica de la base 16. Un decimal es de la base 10. Por lo tanto, puede convertir un valor hexadecimal a decimal. Como esto está fuera del alcance de la pregunta, puede buscar en Google cómo convertir de uno a otro. Hay algunos convertidores en línea:
Conversor de hexadecimal a decimal
Cuando convierta el valor hexadecimal a decimal, verá que es solo una representación numérica. Cuando conviertes, sueltas el 0x
y LL
. Como se indicó, 0x
indica que el valor es un valor hexadecimal y LL
significa tipo Long Long .
Entonces, para responder a su pregunta, use el convertidor a para encontrar un número hexadecimal como:
F0F0F0F0A1
F0F0F0F0A2
F0F0F0F0B4
F0F0F0F0E9
Simplemente cambie los últimos 2 dígitos (bit menos significativo):
Pipes 1-5 should share the first 32 bits. Only the least significant byte should be unique, e.g.
openReadingPipe(1,0xF0F0F0F0AA);
openReadingPipe(2,0xF0F0F0F066);
Agregue el 0x
yLL
0xF0F0F0F0A1LL
0xF0F0F0F0A2LL
0xF0F0F0F0B4LL
0xF0F0F0F0E9LL
Todo debería funcionar.
No soy un experto en hexadecimal, como estoy aprendiendo, así que si soy incorrecto, por favor, alguien me corrija.
Finalmente, la hoja de datos nRF24L01 señala que la elección de la dirección no es completamente arbitraria:
Nota: Las direcciones en las que el nivel cambia solo una vez (es decir, 000FFFFFFF) a menudo se pueden detectar en ruido y pueden dar una detección falsa, lo que puede dar una tasa de error de paquete elevada. Las direcciones como continuación del preámbulo (alternar entre alta y baja) también aumentan la tasa de error de paquete.