Working! But only 4 bytes are propperly transferred.

This commit is contained in:
Marvin Blum
2017-04-18 01:14:41 +02:00
parent af06ef166f
commit 77efdbc17a
2 changed files with 39 additions and 26 deletions

51
main.c
View File

@@ -6,13 +6,15 @@
#include "rf24/rf24.h"
#include "rf24/nRF24L01.h"
#define TX
//#define TX
unsigned char rx_addr[5] = {0xE7, 0xE7, 0xE7, 0xE7, 0xE7};
unsigned char tx_addr[5] = {0xD7, 0xD7, 0xD7, 0xD7, 0xD7};
void prepare();
void loop();
void tx();
void rx();
int main(){
prepare();
@@ -30,7 +32,7 @@ void prepare(){
pin_mode(A2, OUTPUT); // red
rf24_init(7, 6, 5, 4, 3, 2);
rf24_config(2, 4);
rf24_config(2, 13);
#ifdef TX
rf24_rx_addr(rx_addr);
@@ -39,42 +41,49 @@ void prepare(){
rf24_rx_addr(tx_addr);
rf24_tx_addr(rx_addr);
#endif
digital_write(A1, HIGH);
_delay_ms(300);
digital_write(A1, LOW);
}
void loop(){
digital_write(A2, LOW);
_delay_ms(1000);
digital_write(A1, LOW);
digital_write(A2, HIGH);
_delay_ms(1000);
#ifdef TX
unsigned char data[4] = {1, 2, 3, 4};
tx();
#else
rx();
#endif
}
void tx(){
_delay_ms(10);
digital_write(A1, LOW);
digital_write(A2, LOW);
unsigned char data[13] = "World!";
rf24_send(data);
while(rf24_is_sending()){
_delay_ms(20);
}
/*unsigned char status = rf24_status();
while(rf24_is_sending());
unsigned char status = rf24_status();
if(status&(1<<TX_DS)){
digital_write(A1, HIGH);
}
else{
digital_write(A2, HIGH);
}*/
}
}
void rx(){
digital_write(A1, LOW);
digital_write(A2, LOW);
digital_write(A1, HIGH);
#else
if(rf24_data_ready()){
unsigned char data[4] = {0, 0, 0, 0};
unsigned char data[13];
rf24_get_data(data);
digital_write(A1, HIGH);
serial_write((char*)data, 13);
char out[20];
sprintf(out, "%d %d %d %d", data[0], data[1], data[2], data[3]);
serial_write(out, 20);
_delay_ms(1000);
}
#endif
}