PSL_2021 / Mbed OS prog_robot_1_Eve_v4

Dependencies:   mbed-os nRF24L01P

Committer:
emerichartmann
Date:
Fri Oct 29 10:54:24 2021 +0000
Revision:
5:42dad60edb69
Parent:
4:4fae82a1be60
Child:
6:2be1def8ba74
last version;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lderr 3:793d3386768b 1 /*
lderr 3:793d3386768b 2 RobotCup ENS Paris Saclay 2020-2021
lderr 3:793d3386768b 3 Team FC Furious
lderr 3:793d3386768b 4 Code by Luc DERRIEN
lderr 3:793d3386768b 5
lderr 3:793d3386768b 6 Programme communication PC-Robot
lderr 3:793d3386768b 7 Point de vue : PC
lderr 3:793d3386768b 8 micro controleur : L475
lderr 3:793d3386768b 9
emerichartmann 5:42dad60edb69 10 envoi d'une chaine de caractère de taille TRANSFER_SIZE
lderr 3:793d3386768b 11 */
lderr 3:793d3386768b 12
Owen 0:a51a6e7da590 13 #include "mbed.h"
lderr 3:793d3386768b 14 #include "string.h"
Owen 0:a51a6e7da590 15 #include "nRF24L01P.h"
ajuton 4:4fae82a1be60 16 #include "string.h"
Owen 0:a51a6e7da590 17
lderr 3:793d3386768b 18 char text[50];
lderr 3:793d3386768b 19
emerichartmann 5:42dad60edb69 20 UnbufferedSerial pc_serie(USBTX,USBRX,115200);
lderr 3:793d3386768b 21
Owen 0:a51a6e7da590 22
Fab2A 2:e309f19062b7 23 //Définition des E/S de la liaison SPI vers le module nRF24L01+
lderr 3:793d3386768b 24 nRF24L01P my_nrf24l01p(D11, D12, D13, D9, D2, D1); // mosi, miso, sck, csn, ce, irq
Owen 0:a51a6e7da590 25
lderr 3:793d3386768b 26 int main()
lderr 3:793d3386768b 27 {
Owen 0:a51a6e7da590 28
Fab2A 2:e309f19062b7 29 // Nombre de caractères transmis à chaque envoi
emerichartmann 5:42dad60edb69 30 #define TRANSFER_SIZE 1
Owen 0:a51a6e7da590 31
Owen 0:a51a6e7da590 32 char txData[TRANSFER_SIZE], rxData[TRANSFER_SIZE];
Owen 0:a51a6e7da590 33 int txDataCnt = 0;
Owen 0:a51a6e7da590 34 int rxDataCnt = 0;
ajuton 4:4fae82a1be60 35 char texte[] = "Robot PSL connecte \n\r";
ajuton 4:4fae82a1be60 36
ajuton 4:4fae82a1be60 37 pc_serie.write(texte, strlen(texte));
Owen 0:a51a6e7da590 38
Owen 0:a51a6e7da590 39 my_nrf24l01p.powerUp();
lderr 3:793d3386768b 40
emerichartmann 5:42dad60edb69 41 my_nrf24l01p.setRfFrequency(2418); // Définition de la fréquence du canal d'E/R
Fab2A 2:e309f19062b7 42 my_nrf24l01p.setAirDataRate(NRF24L01P_DATARATE_1_MBPS); // Définition du débit de la communication RF
Owen 0:a51a6e7da590 43
Owen 0:a51a6e7da590 44 my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
Owen 0:a51a6e7da590 45 my_nrf24l01p.setReceiveMode();
Owen 0:a51a6e7da590 46 my_nrf24l01p.enable();
Owen 0:a51a6e7da590 47
Owen 0:a51a6e7da590 48 while (1) {
Owen 0:a51a6e7da590 49
Fab2A 2:e309f19062b7 50 // If we've received anything in the nRF24L01+2...
Owen 0:a51a6e7da590 51 if ( my_nrf24l01p.readable() ) {
Owen 0:a51a6e7da590 52
Owen 0:a51a6e7da590 53 // ...read the data into the receive buffer
Owen 0:a51a6e7da590 54 rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) );
Owen 0:a51a6e7da590 55
emerichartmann 5:42dad60edb69 56 pc_serie.write(rxData,2);
Owen 0:a51a6e7da590 57 }
lderr 3:793d3386768b 58 rxDataCnt = 0;
Owen 0:a51a6e7da590 59
Owen 0:a51a6e7da590 60 }
lderr 3:793d3386768b 61
Owen 0:a51a6e7da590 62 }
emerichartmann 5:42dad60edb69 63