Facendo delle prove con la libreria RF24, ho riscontrato questo:
Se all'interno del codice aggiungo una variabile di tipo "String", la trasmissione non va a buon fine anche senza utilizzare la variabile.
Vi posto il codice (che è semplicemente l'esempio contenuto all'interno della libreria).
Se tolgo il commento e quindi inserisco la variabile "prova" in output ottengo:
4F4F4F4F40404040404040404040404040404041414141414141414141414141414344454648494A4B4C4E4F5F...Failed
5F5F5F5F50505050505050505050505050505051515151515151515151515151515354555658595A5B5C5E5F6F...Failed
6F6F6F6F60606060606060606060606060606061616161616161616161616161616364656668696A6B6C6E6F7F...Failed
Mentre semplicemente commentandola ottengo:
FFFFFFF000...OK.
0000000000...OK.
00000000000...OK.
Secondo voi come mai si comporta così?
Grazie.
PS: questo il codice :
/*
* Arduino Wireless Communication Tutorial
* Example 1 - Transmitter Code
*
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
* Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
* https://howtomechatronics.com/tutorials/arduino/arduino-wireless-communication-nrf24l01-tutorial/
*
*/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10); // CE, CSN
const byte address[6] = "00001";
int x = 0 ;
void setup() {
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
Serial.begin(9600);
Serial.println("Startup RF24_TX competed.");
}
void loop() {
//String prova="AAA"; //se commento questa riga, funziona!
char text[20] = "AAA" ;
radio.write(&text, sizeof(text));
delay(1000);
}