From cad7631894a00cd0ccef24b6f30ac1d6ebf61aef Mon Sep 17 00:00:00 2001 From: Marvin Blum Date: Sun, 16 Apr 2017 15:15:14 +0200 Subject: [PATCH] Trying to rx/tx. --- main.c | 50 +++++++++++++++++++++++---- rf24/rf24.c | 98 +++++++++++++++++++++++++++++++++++------------------ rf24/rf24.h | 14 ++++---- 3 files changed, 115 insertions(+), 47 deletions(-) diff --git a/main.c b/main.c index 948ccc5..45226b8 100644 --- a/main.c +++ b/main.c @@ -6,6 +6,8 @@ #include "rf24/rf24.h" #include "rf24/nRF24L01.h" +#define TX + unsigned char rx_addr[5] = {0xE7, 0xE7, 0xE7, 0xE7, 0xE7}; unsigned char tx_addr[5] = {0xD7, 0xD7, 0xD7, 0xD7, 0xD7}; @@ -24,17 +26,51 @@ void prepare(){ pins_init(); serial_init(9600); - _delay_ms(200); + pin_mode(A1, OUTPUT); + pin_mode(A2, OUTPUT); + rf24_init(7, 6, 5, 4, 3, 2); - _delay_ms(200); - rf24_config(0x02, 0xFF); - _delay_ms(200); + rf24_config(2, 4); + +#ifdef TX rf24_rx_addr(rx_addr); - _delay_ms(200); rf24_tx_addr(tx_addr); - _delay_ms(200); +#else + rf24_rx_addr(tx_addr); + rf24_tx_addr(rx_addr); +#endif + + _delay_ms(1000); } void loop(){ - _delay_ms(20); + digital_write(A1, HIGH); + digital_write(A2, LOW); + +#ifdef TX + unsigned char data[4] = {'t', 'e', 's', 't'}; + rf24_send(data); + + while(rf24_is_sending()); + + unsigned char status = rf24_status(); + + if(status&(1< -const unsigned char RF24_POWER_DOWN = 1; -const unsigned char RF24_STANDBY_1 = 2; -const unsigned char RF24_STANDBY_2 = 3; -const unsigned char RF24_TX = 4; -const unsigned char RF24_RX = 5; +#define CONFIG_CRC (1<