aurora moon
/
receive_copy_copy
手柄测试
Fork of nRF24L01P_Hello_World by
main.cpp@4:d6e5433bcbf6, 2017-11-01 (annotated)
- Committer:
- accelerator225
- Date:
- Wed Nov 01 09:50:47 2017 +0000
- Revision:
- 4:d6e5433bcbf6
- Parent:
- 3:61afd8d17063
????;
Who changed what in which revision?
User | Revision | Line number | New 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 | } |