Eduvance IoTLabs
/
WirelessSensorNetwork_RX
Receiver code of Wireless sensor network using NRF24L01P.
Diff: main.cpp
- 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); + } + } +}