aurora moon
/
receive_copy_copy
手柄测试
Fork of nRF24L01P_Hello_World by
main.cpp@5:458f974bb580, 2017-10-26 (annotated)
- Committer:
- zhangyx
- Date:
- Thu Oct 26 08:48:54 2017 +0000
- Revision:
- 5:458f974bb580
- Parent:
- 3:61afd8d17063
set transfer length to 1
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" |
Owen | 0:a51a6e7da590 | 3 | |
zhangyx | 2:1199904d820e | 4 | Serial pc(USBTX, USBRX, 115200); // tx, rx |
Owen | 0:a51a6e7da590 | 5 | |
zhangyx | 3:61afd8d17063 | 6 | // mosi, miso, sck, csn, ce, irq |
zhangyx | 3:61afd8d17063 | 7 | nRF24L01P my_nrf24l01p(D4, D5, D3, D7, D8, D6); |
Owen | 0:a51a6e7da590 | 8 | |
zhangyx | 5:458f974bb580 | 9 | // The nRF24L01+ supports transfers from 1 to 32 bytes |
zhangyx | 5:458f974bb580 | 10 | #define TRANSFER_SIZE 1 |
Owen | 0:a51a6e7da590 | 11 | |
zhangyx | 5:458f974bb580 | 12 | void initNrf24L01() |
zhangyx | 5:458f974bb580 | 13 | { |
Owen | 0:a51a6e7da590 | 14 | my_nrf24l01p.powerUp(); |
Owen | 0:a51a6e7da590 | 15 | |
Owen | 0:a51a6e7da590 | 16 | // Display the (default) setup of the nRF24L01+ chip |
Owen | 0:a51a6e7da590 | 17 | pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() ); |
Owen | 0:a51a6e7da590 | 18 | pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() ); |
Owen | 0:a51a6e7da590 | 19 | pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() ); |
Owen | 0:a51a6e7da590 | 20 | pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() ); |
Owen | 0:a51a6e7da590 | 21 | pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() ); |
Owen | 0:a51a6e7da590 | 22 | |
Owen | 0:a51a6e7da590 | 23 | pc.printf( "Type keys to test transfers:\r\n (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE ); |
Owen | 0:a51a6e7da590 | 24 | |
Owen | 0:a51a6e7da590 | 25 | my_nrf24l01p.setTransferSize( TRANSFER_SIZE ); |
Owen | 0:a51a6e7da590 | 26 | |
Owen | 0:a51a6e7da590 | 27 | my_nrf24l01p.setReceiveMode(); |
Owen | 0:a51a6e7da590 | 28 | my_nrf24l01p.enable(); |
zhangyx | 5:458f974bb580 | 29 | } |
zhangyx | 5:458f974bb580 | 30 | int main() { |
zhangyx | 5:458f974bb580 | 31 | char data[TRANSFER_SIZE]; |
zhangyx | 5:458f974bb580 | 32 | initNrf24L01(); |
Owen | 0:a51a6e7da590 | 33 | while (1) { |
Owen | 0:a51a6e7da590 | 34 | // If we've received anything in the nRF24L01+... |
Owen | 0:a51a6e7da590 | 35 | if ( my_nrf24l01p.readable() ) { |
Owen | 0:a51a6e7da590 | 36 | // ...read the data into the receive buffer |
zhangyx | 5:458f974bb580 | 37 | my_nrf24l01p.read( NRF24L01P_PIPE_P0, data, TRANSFER_SIZE); |
zhangyx | 5:458f974bb580 | 38 | pc.putc(data[0]); |
zhangyx | 5:458f974bb580 | 39 | } |
zhangyx | 5:458f974bb580 | 40 | if ( pc.readable() ) { |
zhangyx | 5:458f974bb580 | 41 | data[0] = pc.getc(); |
zhangyx | 5:458f974bb580 | 42 | // Send the transmitbuffer via the nRF24L01+ |
zhangyx | 5:458f974bb580 | 43 | my_nrf24l01p.write( NRF24L01P_PIPE_P0, data, TRANSFER_SIZE ); |
Owen | 0:a51a6e7da590 | 44 | } |
Owen | 0:a51a6e7da590 | 45 | } |
Owen | 0:a51a6e7da590 | 46 | } |