.

Dependencies:   ISR_Mini-explorer RF24 mbed

Committer:
fabiofaria
Date:
Thu Jul 27 13:06:04 2017 +0000
Revision:
0:59b3345b2b9e
.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fabiofaria 0:59b3345b2b9e 1 #include "mbed.h"
fabiofaria 0:59b3345b2b9e 2 #include "robot.h" // Inicializa o robô. Este include deverá ser usado em todos os main.cpp!
fabiofaria 0:59b3345b2b9e 3 //#include "nRF24L01P.h"
fabiofaria 0:59b3345b2b9e 4 #include <RF24.h>
fabiofaria 0:59b3345b2b9e 5
fabiofaria 0:59b3345b2b9e 6 #define TRANSFER_SIZE 1
fabiofaria 0:59b3345b2b9e 7
fabiofaria 0:59b3345b2b9e 8 //nRF24L01P my_nrf24l01p(PTD2, PTD3, PTD1, PTC13, PTC12, PTA13);
fabiofaria 0:59b3345b2b9e 9 RF24 radio(PTD2, PTD3, PTD1, PTC12 ,PTC13);
fabiofaria 0:59b3345b2b9e 10
fabiofaria 0:59b3345b2b9e 11
fabiofaria 0:59b3345b2b9e 12 void config_init_nrf2()
fabiofaria 0:59b3345b2b9e 13 {
fabiofaria 0:59b3345b2b9e 14 int resultado;
fabiofaria 0:59b3345b2b9e 15 resultado = radio.begin();
fabiofaria 0:59b3345b2b9e 16
fabiofaria 0:59b3345b2b9e 17 pc.printf( "Begin=%d\r\n", resultado );
fabiofaria 0:59b3345b2b9e 18 radio.setDataRate(RF24_1MBPS);
fabiofaria 0:59b3345b2b9e 19 radio.setCRCLength(RF24_CRC_8);
fabiofaria 0:59b3345b2b9e 20 radio.setPayloadSize(1);
fabiofaria 0:59b3345b2b9e 21 radio.setChannel(101);
fabiofaria 0:59b3345b2b9e 22 radio.setAutoAck(true);
fabiofaria 0:59b3345b2b9e 23 radio.printDetails();
fabiofaria 0:59b3345b2b9e 24
fabiofaria 0:59b3345b2b9e 25 radio.openWritingPipe(0x314e6f6465);
fabiofaria 0:59b3345b2b9e 26 radio.openReadingPipe(1,0x324e6f6465 );
fabiofaria 0:59b3345b2b9e 27
fabiofaria 0:59b3345b2b9e 28 radio.startListening();
fabiofaria 0:59b3345b2b9e 29 }
fabiofaria 0:59b3345b2b9e 30
fabiofaria 0:59b3345b2b9e 31 int main()
fabiofaria 0:59b3345b2b9e 32 {
fabiofaria 0:59b3345b2b9e 33 char txData, rxData;
fabiofaria 0:59b3345b2b9e 34
fabiofaria 0:59b3345b2b9e 35
fabiofaria 0:59b3345b2b9e 36 initRobot();
fabiofaria 0:59b3345b2b9e 37 pc.baud(9600);
fabiofaria 0:59b3345b2b9e 38 config_init_nrf2(); // Should be after pc.baud()
fabiofaria 0:59b3345b2b9e 39
fabiofaria 0:59b3345b2b9e 40 pc.printf( "Robot A\r\n" );
fabiofaria 0:59b3345b2b9e 41
fabiofaria 0:59b3345b2b9e 42
fabiofaria 0:59b3345b2b9e 43 // Desliga os LEDs.
fabiofaria 0:59b3345b2b9e 44 q_led_red_fro = 1; //Led Red Front
fabiofaria 0:59b3345b2b9e 45 q_led_gre_fro = 1; //Led Green Front
fabiofaria 0:59b3345b2b9e 46 q_led_blu_fro = 1; //Led Blue Front
fabiofaria 0:59b3345b2b9e 47 q_led_red_rea = 1; //Led Red Rear
fabiofaria 0:59b3345b2b9e 48 q_led_gre_rea = 1; //Led Green Rear
fabiofaria 0:59b3345b2b9e 49 q_led_blu_rea = 1; //Led Blue Rear
fabiofaria 0:59b3345b2b9e 50
fabiofaria 0:59b3345b2b9e 51 while (1) {
fabiofaria 0:59b3345b2b9e 52
fabiofaria 0:59b3345b2b9e 53 // If we've received anything over the host serial link...
fabiofaria 0:59b3345b2b9e 54 if ( pc.readable() ) {
fabiofaria 0:59b3345b2b9e 55
fabiofaria 0:59b3345b2b9e 56 // ...add it to the transmit buffer
fabiofaria 0:59b3345b2b9e 57 txData = pc.getc();
fabiofaria 0:59b3345b2b9e 58
fabiofaria 0:59b3345b2b9e 59 // Send the transmitbuffer via the nRF24L01+
fabiofaria 0:59b3345b2b9e 60 //pc.printf( "Vou enviar: %c\r\n",txData);
fabiofaria 0:59b3345b2b9e 61 radio.stopListening();
fabiofaria 0:59b3345b2b9e 62 radio.write( &txData, sizeof(txData) );
fabiofaria 0:59b3345b2b9e 63 radio.startListening();
fabiofaria 0:59b3345b2b9e 64
fabiofaria 0:59b3345b2b9e 65
fabiofaria 0:59b3345b2b9e 66 // Toggle LED1 (to help debug Host -> nRF24L01+ communication)
fabiofaria 0:59b3345b2b9e 67 q_led_red_fro = !q_led_red_fro;
fabiofaria 0:59b3345b2b9e 68 }
fabiofaria 0:59b3345b2b9e 69
fabiofaria 0:59b3345b2b9e 70 // If we've received anything in the nRF24L01+...
fabiofaria 0:59b3345b2b9e 71 if (radio.available() ) {
fabiofaria 0:59b3345b2b9e 72
fabiofaria 0:59b3345b2b9e 73 // ...read the data into the receive buffer
fabiofaria 0:59b3345b2b9e 74 //my_nrf24l01p.read( NRF24L01P_PIPE_P0, &rxData, sizeof( rxData ) );
fabiofaria 0:59b3345b2b9e 75 radio.read( &rxData, sizeof(rxData) );
fabiofaria 0:59b3345b2b9e 76
fabiofaria 0:59b3345b2b9e 77
fabiofaria 0:59b3345b2b9e 78
fabiofaria 0:59b3345b2b9e 79 pc.putc( rxData );
fabiofaria 0:59b3345b2b9e 80
fabiofaria 0:59b3345b2b9e 81
fabiofaria 0:59b3345b2b9e 82 // Toggle LED2 (to help debug nRF24L01+ -> Host communication)
fabiofaria 0:59b3345b2b9e 83 q_led_red_rea = !q_led_red_rea;
fabiofaria 0:59b3345b2b9e 84 }
fabiofaria 0:59b3345b2b9e 85 }
fabiofaria 0:59b3345b2b9e 86 }