Karkhana Makerspace
/
NRFTx
NRF24L01P with FRDM KL-25Z as Transmitter
main.cpp@0:0f0566c7c9f8, 2017-12-02 (annotated)
- Committer:
- mrbhatter
- Date:
- Sat Dec 02 06:01:07 2017 +0000
- Revision:
- 0:0f0566c7c9f8
NRF24L01P with FRDM KL-25Z as Transmitter
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mrbhatter | 0:0f0566c7c9f8 | 1 | #include "mbed.h" |
mrbhatter | 0:0f0566c7c9f8 | 2 | #include "nRF24L01P.h" |
mrbhatter | 0:0f0566c7c9f8 | 3 | |
mrbhatter | 0:0f0566c7c9f8 | 4 | Serial pc(USBTX, USBRX); // tx, rx |
mrbhatter | 0:0f0566c7c9f8 | 5 | |
mrbhatter | 0:0f0566c7c9f8 | 6 | nRF24L01P my_nrf24l01p(PTD2, PTD3, PTD1, PTD0, PTD5, PTD4); // MOSI, MISO, SCK, CSN, CE, IRQ |
mrbhatter | 0:0f0566c7c9f8 | 7 | DigitalOut RedLED(PTA5); |
mrbhatter | 0:0f0566c7c9f8 | 8 | |
mrbhatter | 0:0f0566c7c9f8 | 9 | int main() |
mrbhatter | 0:0f0566c7c9f8 | 10 | { |
mrbhatter | 0:0f0566c7c9f8 | 11 | char count[2]; |
mrbhatter | 0:0f0566c7c9f8 | 12 | char TxDataCnt; |
mrbhatter | 0:0f0566c7c9f8 | 13 | char temp; |
mrbhatter | 0:0f0566c7c9f8 | 14 | |
mrbhatter | 0:0f0566c7c9f8 | 15 | |
mrbhatter | 0:0f0566c7c9f8 | 16 | my_nrf24l01p.powerUp(); |
mrbhatter | 0:0f0566c7c9f8 | 17 | my_nrf24l01p.setRfFrequency(2410); |
mrbhatter | 0:0f0566c7c9f8 | 18 | |
mrbhatter | 0:0f0566c7c9f8 | 19 | // Display the (default) setup of the nRF24L01+ chip |
mrbhatter | 0:0f0566c7c9f8 | 20 | pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() ); |
mrbhatter | 0:0f0566c7c9f8 | 21 | pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() ); |
mrbhatter | 0:0f0566c7c9f8 | 22 | pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() ); |
mrbhatter | 0:0f0566c7c9f8 | 23 | pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() ); |
mrbhatter | 0:0f0566c7c9f8 | 24 | pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() ); |
mrbhatter | 0:0f0566c7c9f8 | 25 | |
mrbhatter | 0:0f0566c7c9f8 | 26 | pc.printf( "Simple Transmitter (0 - 9 Counter) \r\n"); |
mrbhatter | 0:0f0566c7c9f8 | 27 | |
mrbhatter | 0:0f0566c7c9f8 | 28 | TxDataCnt = 2; |
mrbhatter | 0:0f0566c7c9f8 | 29 | my_nrf24l01p.setTransferSize(TxDataCnt); |
mrbhatter | 0:0f0566c7c9f8 | 30 | |
mrbhatter | 0:0f0566c7c9f8 | 31 | my_nrf24l01p.enable(); |
mrbhatter | 0:0f0566c7c9f8 | 32 | |
mrbhatter | 0:0f0566c7c9f8 | 33 | count[0] = 0x01; |
mrbhatter | 0:0f0566c7c9f8 | 34 | count[1] = 0x01; |
mrbhatter | 0:0f0566c7c9f8 | 35 | |
mrbhatter | 0:0f0566c7c9f8 | 36 | while (1) { |
mrbhatter | 0:0f0566c7c9f8 | 37 | |
mrbhatter | 0:0f0566c7c9f8 | 38 | // Send the Transmit buffer via the nRF24L01+ |
mrbhatter | 0:0f0566c7c9f8 | 39 | temp = my_nrf24l01p.write( NRF24L01P_PIPE_P0,count, TxDataCnt ); |
mrbhatter | 0:0f0566c7c9f8 | 40 | |
mrbhatter | 0:0f0566c7c9f8 | 41 | pc.printf( "Sending %d - %d %d\r\n",temp,count[0],count[1]); |
mrbhatter | 0:0f0566c7c9f8 | 42 | |
mrbhatter | 0:0f0566c7c9f8 | 43 | // Toggle LED1 (to help debug Host -> nRF24L01+ communication) |
mrbhatter | 0:0f0566c7c9f8 | 44 | RedLED = !RedLED; |
mrbhatter | 0:0f0566c7c9f8 | 45 | |
mrbhatter | 0:0f0566c7c9f8 | 46 | count[1]++; |
mrbhatter | 0:0f0566c7c9f8 | 47 | |
mrbhatter | 0:0f0566c7c9f8 | 48 | wait(1); |
mrbhatter | 0:0f0566c7c9f8 | 49 | } |
mrbhatter | 0:0f0566c7c9f8 | 50 | } |