Prueba

Dependencies:   nRF24L01P

Files at this revision

API Documentation at this revision

Comitter:
DiegoColl
Date:
Tue Oct 10 22:35:07 2017 +0000
Commit message:
prueba

Changed in this revision

.gitignore Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-os.lib Show annotated file Show diff for this revision Revisions of this file
nRF24L01P.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.gitignore	Tue Oct 10 22:35:07 2017 +0000
@@ -0,0 +1,4 @@
+.build
+.mbed
+projectfiles
+*.py*
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Oct 10 22:35:07 2017 +0000
@@ -0,0 +1,84 @@
+#include "mbed.h"
+#include "nRF24L01P.h"
+
+#define TRANSFER_SIZE   8
+
+Serial pc(USBTX, USBRX); // tx, rx
+
+nRF24L01P my_nrf24l01p(PF_9, PF_8, PF_7, PG_7, PA_8, PA_15);    // mosi, miso, sck, csn, ce, irq
+
+DigitalOut myled1(LED1);
+
+// main() runs in its own thread in the OS
+int main() {
+    
+    char txData[TRANSFER_SIZE], rxData[TRANSFER_SIZE];
+    int txDataCnt = 0;
+    int rxDataCnt = 0;
+    char r ='R';
+    char e ='E';
+    char s ='S';
+
+    my_nrf24l01p.powerUp();
+
+    // Display the (default) setup of the nRF24L01+ chip
+    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( "Type keys to test transfers:\r\n(transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
+
+    my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
+
+    my_nrf24l01p.setReceiveMode();
+    my_nrf24l01p.enable();
+
+    while (1) {
+        
+        myled1 = !myled1;
+        wait(0.5);
+        
+        // If we've received anything over the host serial link...
+        if ( pc.readable() ) {
+
+            // ...add it to the transmit buffer
+            txData[txDataCnt++] = pc.getc();
+
+            // If the transmit buffer is full
+            if ( txDataCnt >= sizeof( txData ) ) {
+
+                // Send the transmitbuffer via the nRF24L01+
+                
+                my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
+
+                txDataCnt = 0;
+                
+                pc.putc(s);
+            }
+
+            pc.putc(e);
+        }
+
+        // If we've received anything in the nRF24L01+...
+        if ( my_nrf24l01p.readable() ) {
+
+            // ...read the data into the receive buffer
+            rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) );
+
+            // Display the receive buffer contents via the host serial link
+            for ( int i = 0; rxDataCnt > 0; rxDataCnt--, i++ ) {
+
+                pc.putc( rxData[i] );
+
+            }
+            
+            pc.putc(r);
+            
+            // Toggle LED2 (to help debug nRF24L01+ -> Host communication)
+            //myled1 = !myled1;
+        }
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-os.lib	Tue Oct 10 22:35:07 2017 +0000
@@ -0,0 +1,1 @@
+https://github.com/ARMmbed/mbed-os/#c9e63f14085f5751ff5ead79a7c0382d50a813a2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nRF24L01P.lib	Tue Oct 10 22:35:07 2017 +0000
@@ -0,0 +1,1 @@
+http://os.mbed.com/users/theterg/code/nRF24L01P/#be6480db326e