Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed-os nRF24L01P
Diff: main.cpp
- Revision:
- 8:04ab02bb2262
- Parent:
- 7:65236900b1f5
- Child:
- 9:67d737d8a349
--- a/main.cpp Fri Nov 26 07:58:20 2021 +0000 +++ b/main.cpp Fri Jan 14 07:59:02 2022 +0000 @@ -15,60 +15,33 @@ #include "nRF24L01P.h" #include "string.h" -char text[100]; -UnbufferedSerial pc_serie(USBTX,USBRX,115200); +BufferedSerial pc_serie(USBTX,USBRX,115200); - -//Définition des E/S de la liaison SPI vers le module nRF24L01+ nRF24L01P my_nrf24l01p(D11, D12, D13, D9, D2, D1); // mosi, miso, sck, csn, ce, irq int main() { -// Nombre de caractères transmis à chaque envoi -#define TRANSFER_SIZE 20 +#define TRANSFER_SIZE 32 - char txData[TRANSFER_SIZE], rxData[TRANSFER_SIZE]; - int txDataCnt = 0; - int rxDataCnt = 0; - char texte[] = "Robot PSL connecte \n\r"; - - pc_serie.write(texte, strlen(texte)); - + char c; my_nrf24l01p.powerUp(); - - my_nrf24l01p.setRfFrequency(2418); // Définition de la fréquence du canal d'E/R - my_nrf24l01p.setAirDataRate(NRF24L01P_DATARATE_1_MBPS); // Définition du débit de la communication RF - + my_nrf24l01p.setRfFrequency(2418); + my_nrf24l01p.setAirDataRate(1000); my_nrf24l01p.setTransferSize( TRANSFER_SIZE ); my_nrf24l01p.setReceiveMode(); + my_nrf24l01p.setCrcWidth(0); + my_nrf24l01p.setRxAddress(); my_nrf24l01p.enable(); - // Affichage de l'état de la configuration du nRF24L01+ - sprintf(text,"_______________________\r\nCarte recepteur :\r\n_______________________\r\n"); - pc_serie.write( text, strlen(text) ); - - sprintf(text,"nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() ); - pc_serie.write( text, strlen(text) ); - sprintf(text, "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() ); - pc_serie.write( text, strlen(text) ); - sprintf(text, "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() ); -pc_serie.write( text, strlen(text) ); - - sprintf(text, "Type keys to test transfers:\r\n (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE ); -pc_serie.write( text, strlen(text) ); while (1) { - // If we've received anything in the nRF24L01+2... - if ( my_nrf24l01p.readable() ) { + if (my_nrf24l01p.readable()) { + my_nrf24l01p.read( NRF24L01P_PIPE_P0, &c , 32 ); + pc_serie.write(&c,32); - // ...read the data into the receive buffer - rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) ); - - pc_serie.write(rxData,TRANSFER_SIZE); - } - rxDataCnt = 0; +} }