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
diff -r 65236900b1f5 -r 04ab02bb2262 main.cpp
--- 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;
+}
}