Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed-os nRF24L01P
main.cpp@7:65236900b1f5, 2021-11-26 (annotated)
- Committer:
- evedelegue
- Date:
- Fri Nov 26 07:58:20 2021 +0000
- Revision:
- 7:65236900b1f5
- Parent:
- 6:2be1def8ba74
- Child:
- 8:04ab02bb2262
recepteur avec affichage des variable
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lderr | 3:793d3386768b | 1 | /* |
lderr | 3:793d3386768b | 2 | RobotCup ENS Paris Saclay 2020-2021 |
lderr | 3:793d3386768b | 3 | Team FC Furious |
evedelegue | 6:2be1def8ba74 | 4 | Code by Luc DERRIEN adapted by Eve |
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 | |
evedelegue | 7:65236900b1f5 | 18 | char text[100]; |
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 |
evedelegue | 7:65236900b1f5 | 30 | #define TRANSFER_SIZE 20 |
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(); |
evedelegue | 7:65236900b1f5 | 47 | |
evedelegue | 7:65236900b1f5 | 48 | // Affichage de l'état de la configuration du nRF24L01+ |
evedelegue | 7:65236900b1f5 | 49 | sprintf(text,"_______________________\r\nCarte recepteur :\r\n_______________________\r\n"); |
evedelegue | 7:65236900b1f5 | 50 | pc_serie.write( text, strlen(text) ); |
evedelegue | 7:65236900b1f5 | 51 | |
evedelegue | 7:65236900b1f5 | 52 | sprintf(text,"nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() ); |
evedelegue | 7:65236900b1f5 | 53 | pc_serie.write( text, strlen(text) ); |
evedelegue | 7:65236900b1f5 | 54 | sprintf(text, "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() ); |
evedelegue | 7:65236900b1f5 | 55 | pc_serie.write( text, strlen(text) ); |
evedelegue | 7:65236900b1f5 | 56 | sprintf(text, "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() ); |
evedelegue | 7:65236900b1f5 | 57 | pc_serie.write( text, strlen(text) ); |
Owen | 0:a51a6e7da590 | 58 | |
evedelegue | 7:65236900b1f5 | 59 | sprintf(text, "Type keys to test transfers:\r\n (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE ); |
evedelegue | 7:65236900b1f5 | 60 | pc_serie.write( text, strlen(text) ); |
Owen | 0:a51a6e7da590 | 61 | while (1) { |
Owen | 0:a51a6e7da590 | 62 | |
Fab2A | 2:e309f19062b7 | 63 | // If we've received anything in the nRF24L01+2... |
Owen | 0:a51a6e7da590 | 64 | if ( my_nrf24l01p.readable() ) { |
Owen | 0:a51a6e7da590 | 65 | |
Owen | 0:a51a6e7da590 | 66 | // ...read the data into the receive buffer |
Owen | 0:a51a6e7da590 | 67 | rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) ); |
Owen | 0:a51a6e7da590 | 68 | |
evedelegue | 7:65236900b1f5 | 69 | pc_serie.write(rxData,TRANSFER_SIZE); |
Owen | 0:a51a6e7da590 | 70 | } |
lderr | 3:793d3386768b | 71 | rxDataCnt = 0; |
Owen | 0:a51a6e7da590 | 72 | |
Owen | 0:a51a6e7da590 | 73 | } |
lderr | 3:793d3386768b | 74 | |
Owen | 0:a51a6e7da590 | 75 | } |
emerichartmann | 5:42dad60edb69 | 76 |