Receiver code of Wireless sensor network using NRF24L01P.

Dependencies:   mbed nRF24L01P

Revision:
0:6decc57a1464
Child:
1:a7a6a47d25ca
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Aug 02 08:10:49 2016 +0000
@@ -0,0 +1,59 @@
+#include "mbed.h"
+#include "nRF24L01P.h"
+
+Serial pc(USBTX, USBRX); 
+
+//NRF connectioms
+nRF24L01P my_nrf24l01p(PTD2, PTD3, PTD1, PTD0, PTD5, PTD4);    // mosi, miso, sck, csn, ce, irq
+
+//led for debugging purposes
+DigitalOut GreenLED(LED2);
+
+int main() {
+    
+    char count[1];
+    char RxDataCnt;
+    char temp;
+
+    //waking up NRF module
+    my_nrf24l01p.powerUp();
+    
+    //set frequency of receiver
+    my_nrf24l01p.setRfFrequency(2410);
+
+    //display some default parameters of NRF
+    pc.printf( "nRF24L01+ Frequency    : %d MHz\r\n",  my_nrf24l01p.getRfFrequency() );
+    pc.printf( "nRF24L01+ Output power : %d dBm\r\n",  my_nrf24l01p.getRfOutputPower() );
+    pc.printf( "nRF24L01+ Data Rate    : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
+    pc.printf( "nRF24L01+ TX Address   : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
+    pc.printf( "nRF24L01+ RX Address   : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
+
+    pc.printf( "Simple 2 Byte Receiver\r\n" );
+    
+    RxDataCnt = 1;
+    
+    //setting packet size
+    my_nrf24l01p.setTransferSize( RxDataCnt );
+    
+    //setting NRF as receiver
+    my_nrf24l01p.setReceiveMode();
+    
+    //enabling radio
+    my_nrf24l01p.enable();
+
+    while (1) {
+
+        //If we've received anything in the nRF
+        if (my_nrf24l01p.readable()) {
+
+            //read the data into the receive buffer
+            temp = my_nrf24l01p.read( NRF24L01P_PIPE_P0, count, RxDataCnt);
+
+            pc.printf( "Receiving %d = %d\r\n",temp,count[0]);
+
+            //Toggle LED2 for debugging purposes
+            GreenLED = !GreenLED;
+            wait_ms(10);
+        }
+    }
+}