From 7f568115a564740c1f8b9573de72eb79f48f169a Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sun, 17 Nov 2024 16:08:01 +0800 Subject: Detect interference, but no meaningful data. --- rf_test/recv.c | 47 +++++++++++++++++++++++------------------------ rf_test/send.c | 10 +++++----- 2 files changed, 28 insertions(+), 29 deletions(-) (limited to 'rf_test') diff --git a/rf_test/recv.c b/rf_test/recv.c index 1e1a21c..02fab41 100644 --- a/rf_test/recv.c +++ b/rf_test/recv.c @@ -3,13 +3,14 @@ #include #include +#define TEST_LED PB1 #define LOCK_LED PD6 #define UNLOCK_LED PD7 -#define SYN 0xA4 -#define ADDR 0x01 -#define LOCK_CMD 0x02 -#define UNLOCK_CMD 0x03 +#define SYN 0xA4 +#define ADDR 0x44 +#define LOCK_CMD 0x11 +#define UNLOCK_CMD 0x22 static void usart_init(void) { @@ -27,8 +28,8 @@ static unsigned char usart_recv(void) static void led_init(void) { + DDRB |= (1 << TEST_LED); DDRD |= (1 << LOCK_LED) | (1 << UNLOCK_LED); - PORTD |= (1 << LOCK_LED) | (1 << UNLOCK_LED); } int main(void) @@ -58,26 +59,24 @@ ISR(USART_RX_vect) { unsigned char syn, addr, data, chk; - PORTD ^= ((1 << LOCK_LED) | (1 << UNLOCK_LED)); - - syn = usart_recv(); + syn = usart_recv(); addr = usart_recv(); data = usart_recv(); - chk = usart_recv(); + chk = usart_recv(); - //if(chk == (addr + data)) - //{ - // if(addr == ADDR) - // { - // if(data == LOCK_CMD) { - // PORTD |= (1 << LOCK_LED); - // PORTD &= ~(1 << UNLOCK_LED); - // - // } else if (data == UNLOCK_LED) { - // PORTD |= (1 << UNLOCK_LED); - // PORTD &= ~(1 << LOCK_LED); - // } - // } - //} - + if(chk == (addr + data)) + { + if(addr == ADDR) + { + if(data == LOCK_CMD) { + PORTD |= (1 << LOCK_LED); + PORTD &= ~(1 << UNLOCK_LED); + + } else if (data == UNLOCK_LED) { + PORTD |= (1 << UNLOCK_LED); + PORTD &= ~(1 << LOCK_LED); + } + } + PORTB ^= (1 << TEST_LED); + } } diff --git a/rf_test/send.c b/rf_test/send.c index b80c5a6..0a12692 100644 --- a/rf_test/send.c +++ b/rf_test/send.c @@ -8,9 +8,9 @@ #define UNLOCK_BTN PD7 #define SYN 0xA4 -#define ADDR 0x01 -#define LOCK_CMD 0x02 -#define UNLOCK_CMD 0x03 +#define ADDR 0x44 +#define LOCK_CMD 0x11 +#define UNLOCK_CMD 0x22 static void usart_init(void) { @@ -64,9 +64,9 @@ int main(void) //sei(); for (;;) { - _delay_ms(2000); + _delay_ms(4000); lock(); - _delay_ms(2000); + _delay_ms(4000); unlock(); } -- cgit v1.2.3