手柄测试

Dependencies:   mbed nRF24L01P

Fork of nRF24L01P_Hello_World by YX ZHANG

Committer:
accelerator225
Date:
Wed Nov 01 09:50:47 2017 +0000
Revision:
4:d6e5433bcbf6
Parent:
3:61afd8d17063
????;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Owen 0:a51a6e7da590 1 #include "mbed.h"
Owen 0:a51a6e7da590 2 #include "nRF24L01P.h"
accelerator225 4:d6e5433bcbf6 3 #define TRANSFER_SIZE 11
accelerator225 4:d6e5433bcbf6 4 #define JY901transfersize 44
Owen 0:a51a6e7da590 5
accelerator225 4:d6e5433bcbf6 6 Serial pc(PA_9,PA_10, 9600); // tx, rx
accelerator225 4:d6e5433bcbf6 7 //Serial JY901(PB_10,PB_11,9600);
accelerator225 4:d6e5433bcbf6 8 // mosi, miso, sck, csn, ce, irq
accelerator225 4:d6e5433bcbf6 9 nRF24L01P my_nrf24l01p(PB_15, PB_14, PB_13, PB_6, PB_5, PB_7);
Owen 0:a51a6e7da590 10
accelerator225 4:d6e5433bcbf6 11 int main() {
accelerator225 4:d6e5433bcbf6 12 pc.printf("init\r\n");
accelerator225 4:d6e5433bcbf6 13 char JY901data[JY901transfersize];
Owen 0:a51a6e7da590 14 char txData[TRANSFER_SIZE], rxData[TRANSFER_SIZE];
accelerator225 4:d6e5433bcbf6 15 int JY901cnt = 0;
Owen 0:a51a6e7da590 16 int txDataCnt = 0;
Owen 0:a51a6e7da590 17 int rxDataCnt = 0;
Owen 0:a51a6e7da590 18 my_nrf24l01p.powerUp();
accelerator225 4:d6e5433bcbf6 19
Owen 0:a51a6e7da590 20 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() );
Owen 0:a51a6e7da590 21 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() );
Owen 0:a51a6e7da590 22 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
Owen 0:a51a6e7da590 23 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
Owen 0:a51a6e7da590 24 pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
Owen 0:a51a6e7da590 25
Owen 0:a51a6e7da590 26 my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
Owen 0:a51a6e7da590 27 my_nrf24l01p.setReceiveMode();
Owen 0:a51a6e7da590 28 my_nrf24l01p.enable();
Owen 0:a51a6e7da590 29 while (1) {
accelerator225 4:d6e5433bcbf6 30 /*while(JY901cnt < JY901transfersize)
accelerator225 4:d6e5433bcbf6 31 JY901data[JY901cnt++] = JY901.getc();
accelerator225 4:d6e5433bcbf6 32 my_nrf24l01p.write(NRF24L01P_PIPE_P0,JY901data,JY901cnt);
accelerator225 4:d6e5433bcbf6 33 my_nrf24l01p.setReceiveMode();
accelerator225 4:d6e5433bcbf6 34 JY901cnt = 0;;*/
accelerator225 4:d6e5433bcbf6 35
accelerator225 4:d6e5433bcbf6 36
Owen 0:a51a6e7da590 37
accelerator225 4:d6e5433bcbf6 38 if ( my_nrf24l01p.readable() ) {
accelerator225 4:d6e5433bcbf6 39 if ( pc.readable() ) {
Owen 0:a51a6e7da590 40 txData[txDataCnt++] = pc.getc();
Owen 0:a51a6e7da590 41 if ( txDataCnt >= sizeof( txData ) ) {
Owen 0:a51a6e7da590 42 my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
accelerator225 4:d6e5433bcbf6 43 my_nrf24l01p.setReceiveMode();
Owen 0:a51a6e7da590 44 txDataCnt = 0;
Owen 0:a51a6e7da590 45 }
Owen 0:a51a6e7da590 46 }
Owen 0:a51a6e7da590 47 rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) );
Owen 0:a51a6e7da590 48 for ( int i = 0; rxDataCnt > 0; rxDataCnt--, i++ ) {
Owen 0:a51a6e7da590 49 pc.putc( rxData[i] );
Owen 0:a51a6e7da590 50 }
Owen 0:a51a6e7da590 51 }
Owen 0:a51a6e7da590 52 }
Owen 0:a51a6e7da590 53 }