nn

Dependencies:   BufferedSerial mbed nRF24L01P

Fork of nRF24L01P_Hello_World by YX ZHANG

Committer:
aurorapso2
Date:
Fri Oct 13 12:12:58 2017 +0000
Revision:
5:3b2c52eec606
Parent:
4:3bbadb5f1a00
nnn

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Owen 0:a51a6e7da590 1 #include "mbed.h"
aurorapso2 4:3bbadb5f1a00 2 #include "BufferedSerial.h"
aurorapso2 4:3bbadb5f1a00 3 #include"nRF24L01P.h"
Owen 0:a51a6e7da590 4
aurorapso2 4:3bbadb5f1a00 5 Serial pc(PA_9, PA_10, 9600);//PA_9 PA_10 作为串口1连接串口转usb模块连接电脑
aurorapso2 5:3b2c52eec606 6 Serial JY901(PB_10,PB_11,9600);
aurorapso2 4:3bbadb5f1a00 7 //BufferedSerial mod(PB_10, PB_11, 32);//PB_10, PB_11作为第二个串口与jy-901的串口端连接,进行通信
zhangyx 3:61afd8d17063 8 // mosi, miso, sck, csn, ce, irq
aurorapso2 4:3bbadb5f1a00 9 nRF24L01P my_nrf24l01p(PA_7, PA_6, PA_5, PA_3, PA_4, PA_2);
aurorapso2 4:3bbadb5f1a00 10 //DigitalOut myled1(PC_13);
Owen 0:a51a6e7da590 11
aurorapso2 4:3bbadb5f1a00 12 int state, token, payloadLen, recvLen;
aurorapso2 4:3bbadb5f1a00 13 unsigned char payloadBuf[16];
Owen 0:a51a6e7da590 14
Owen 0:a51a6e7da590 15 int main() {
zhangyx 2:1199904d820e 16
zhangyx 2:1199904d820e 17 pc.printf("init\r\n");
Owen 0:a51a6e7da590 18
Owen 0:a51a6e7da590 19 #define TRANSFER_SIZE 4
Owen 0:a51a6e7da590 20
Owen 0:a51a6e7da590 21 char txData[TRANSFER_SIZE], rxData[TRANSFER_SIZE];
Owen 0:a51a6e7da590 22 int txDataCnt = 0;
Owen 0:a51a6e7da590 23 int rxDataCnt = 0;
Owen 0:a51a6e7da590 24
Owen 0:a51a6e7da590 25 my_nrf24l01p.powerUp();
Owen 0:a51a6e7da590 26
Owen 0:a51a6e7da590 27 // Display the (default) setup of the nRF24L01+ chip
Owen 0:a51a6e7da590 28 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() );
Owen 0:a51a6e7da590 29 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() );
Owen 0:a51a6e7da590 30 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
Owen 0:a51a6e7da590 31 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
Owen 0:a51a6e7da590 32 pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
Owen 0:a51a6e7da590 33
Owen 0:a51a6e7da590 34 pc.printf( "Type keys to test transfers:\r\n (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
Owen 0:a51a6e7da590 35
Owen 0:a51a6e7da590 36 my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
aurorapso2 5:3b2c52eec606 37 my_nrf24l01p.setReceiveMode();//!!!!change this to change mode //setReceiveMode
Owen 0:a51a6e7da590 38 my_nrf24l01p.enable();
Owen 0:a51a6e7da590 39
aurorapso2 5:3b2c52eec606 40 while (1) {
Owen 0:a51a6e7da590 41 if ( my_nrf24l01p.readable() ) {
Owen 0:a51a6e7da590 42 rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) );
Owen 0:a51a6e7da590 43 for ( int i = 0; rxDataCnt > 0; rxDataCnt--, i++ ) {
Owen 0:a51a6e7da590 44 pc.putc( rxData[i] );
Owen 0:a51a6e7da590 45 }
aurorapso2 5:3b2c52eec606 46 }
aurorapso2 5:3b2c52eec606 47 while(pc.readable()){
aurorapso2 5:3b2c52eec606 48 txData[txDataCnt++] = pc.getc();
aurorapso2 5:3b2c52eec606 49 if(txDataCnt>=sizeof(txData)){
aurorapso2 5:3b2c52eec606 50 my_nrf24l01p.write(NRF24L01P_PIPE_P1,txData,txDataCnt);
aurorapso2 5:3b2c52eec606 51 my_nrf24l01p.setReceiveMode();
aurorapso2 5:3b2c52eec606 52 txDataCnt = 0;
aurorapso2 5:3b2c52eec606 53 }
Owen 0:a51a6e7da590 54 }
aurorapso2 5:3b2c52eec606 55
Owen 0:a51a6e7da590 56 }
aurorapso2 5:3b2c52eec606 57 /*while(1){
aurorapso2 5:3b2c52eec606 58 txData[txDataCnt++] = JY901.getc();
aurorapso2 5:3b2c52eec606 59 if(txDataCnt>=sizeof(txData)){
aurorapso2 5:3b2c52eec606 60 my_nrf24l01p.write(NRF24L01P_PIPE_P0,txData,txDataCnt);
aurorapso2 5:3b2c52eec606 61 my_nrf24l01p.setReceiveMode();
aurorapso2 5:3b2c52eec606 62 txDataCnt = 0;
aurorapso2 5:3b2c52eec606 63 }
aurorapso2 5:3b2c52eec606 64 if ( my_nrf24l01p.readable() ) {
aurorapso2 5:3b2c52eec606 65 rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P1, rxData, sizeof( rxData ) );
aurorapso2 5:3b2c52eec606 66 for ( int i = 0; rxDataCnt > 0; rxDataCnt--, i++ ) {
aurorapso2 5:3b2c52eec606 67 pc.putc( rxData[i] );
aurorapso2 5:3b2c52eec606 68 }
aurorapso2 5:3b2c52eec606 69 }
aurorapso2 5:3b2c52eec606 70 }*/
Owen 0:a51a6e7da590 71 }