Rispondi a: nrf24l01 e libreria SPI MiKroC

Home Forum FORUM ELETTRONICA RICHIESTE CIRCUITI e PUBLICAZIONI nrf24l01 e libreria SPI MiKroC Rispondi a: nrf24l01 e libreria SPI MiKroC

#2841
ne555
Amministratore del forum

Ciao 🙂 per scrivere i registri con le varie informazioni per avviare la comunicazione e inizializzare il modulo, si usano le seguentei sottofunzioni:

void register_write(unsigned char reg, unsigned char value) //sottoprogramma per scrivere i registri
{
SS_pin = 0; //indico che sto per inviare un comando
nRF24L01_write((reg | W_REGISTER_cmd)); //maschero il registro con il comando per scrivere
nRF24L01_write(value); //invio il valore che voglio scrivere nel registro
SS_pin = 1;
delay_us(8);
}

//—————————————————————————————————————————-//
void write_command(unsigned char cmd) //sottoprogramma scrittura comandi
SS_pin = 0; //indico che voglio inviare un comando
nRF24L01_write(cmd); //scrivo il comando cmd
SS_pin = 1; //ripristino il pin ss
delay_us(8);
}

Quindi si va a scrivere normalmente con il protocollo SPI solo che il pin di SS va posto a livello logico 0, in questo modo il modulo wireless capisce che si sta per scrivere un comando o si va a scrivere un registro. il comando viene normalmente inviato tramite SPI. per scrivere nel registro invice si invia in spi la OR logica tra il registro dove si vuole scrivere e il comdando di scrittura, successivamente si invia il valore che si vuole scrivere nel registro