Home › Forum › FORUM ELETTRONICA › MICROCONTROLLORI E CODICI › Problema comunicazione NRF24L01+ › Rispondi a: Problema comunicazione NRF24L01+
Allora grandi notizie!
Sembra funzionare! In realtà non ho usato il tuo codice, ma proprio quello che avevo postato all’inizio. L’unica cosa che ho fatto è stata sostituire i due NRF24L01+ con due nuovi ed adesso va tutto!
Secondo me li ho bruciati, perchè alimentavo il PIC a 5V ed i modulini a 3.3V. Però pensavo che fossero tolleranti ai 5V. Boh.
Tuttavia non va ancora come dovrebbe: Ho implementato un programma dove il master conta da 0 a 255 aumentando di un’unità ogni 1secondo e manda il nuovo numero al ricevitore. Tuttavia il ricevitore non “segue bene” il conteggio.
Ovvero, i numeri che manda il TX, il ricevitore li mostra, ma non tutti. Alle volte il TX avanza il conteggio anche di 3-4 unità e lui rimane indietro. Poi improvvisamente si “risveglia” e mostra l’ultimo numero ricevuto. Non so se mi sono spiegato…
Ti mando i while(1) dei due programmi:
TRASMETTITORE:
x = 1; //inizializzo x ad 1
while(1){ //ciclo infinito
send_data(1, &x); //invio 1byte e il byte è la variabile x
PORTC = x; //visualizzo il dato inviato sul trasmettitore
delay_ms(1000);
x++;
}
RICEVITORE:
while(1){ //ciclo infinito
if(get_Status_Reg() == 0x40) //controllo nello status register se il bit di segnalazione di dato ricevuto è alto
{
receive_data(1, &x); //se si vado a leggere il dato
PORTC = x; //e in questo caso lo visualizzo sulle portB
}