From e34917da814c2cdb3710553d479df0aed3979e28 Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sun, 6 Apr 2025 12:01:05 +0800 Subject: Recv data reliably, but PDLEN value is wrong. --- recv.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'recv.c') diff --git a/recv.c b/recv.c index 7217e47..70006dc 100644 --- a/recv.c +++ b/recv.c @@ -1,6 +1,7 @@ #include #include #include +#include #include "nrfm.h" #include "uart.h" @@ -36,14 +37,17 @@ int main(void) for (;;) { if (rxdr) { + uart_write_line("IRQ recv, reading data"); n = radio_recv(buf, MAXPDLEN); buf[n] = '\0'; rxdr = 0; - uart_write("INFO: "); - uart_write_line(buf); - - radio_listen(); - sei(); + if (n > 0) { + uart_write("INFO: "); + uart_write_line(buf); + } + } else { + uart_write_line("No IRQ"); + _delay_ms(2000); } } @@ -52,7 +56,5 @@ int main(void) ISR(RX_PCINTVEC) { - cli(); - uart_write_line("IRQ detected"); rxdr = 1; } -- cgit v1.2.3