From e1628a6c0af2c72df2418d4a3cd7fd5c9b9d71c6 Mon Sep 17 00:00:00 2001 From: Maxim Date: Wed, 29 Apr 2026 13:57:54 +0300 Subject: [PATCH] =?UTF-8?q?WIP.=20=D0=94=D0=BB=D1=8F=20=D0=BE=D1=82=D0=BB?= =?UTF-8?q?=D0=B0=D0=B4=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/gpio-interrupt.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) mode change 100755 => 100644 examples/gpio-interrupt.c diff --git a/examples/gpio-interrupt.c b/examples/gpio-interrupt.c old mode 100755 new mode 100644 index fa3028c..7ae4479 --- a/examples/gpio-interrupt.c +++ b/examples/gpio-interrupt.c @@ -19,6 +19,14 @@ #include #include +/* +жёлтый д0 +красный такт +чёрный д1 +синий д2 +зелёный д3 +оранжевый - общий +*/ unsigned int wr_pin = 27; /** Вывод для сигнала записи */ unsigned int pins[] = { 21, 7, 6, 5, 25, 24, 23, 22 }; /** Выводы для данных */ @@ -98,9 +106,9 @@ bool fifo_try_write(struct fifo *ff, char* buffer, size_t len) { static struct fifo isr_ff; - +int c = 0; void isr_handle(void) { - char byte_read = digitalReadPins(pins, sizeof pins / sizeof pins[0]); + char byte_read = 0x0f & digitalReadPins(pins, sizeof pins / sizeof pins[0]); fifo_try_write(&isr_ff, &byte_read, 1); } @@ -137,7 +145,10 @@ int main(void) { while (true) { bool is_read = fifo_try_read(&isr_ff, buffer, sizeof buffer); if (is_read) { - fwrite(buffer, 1U, sizeof buffer, stdout); + //fwrite(buffer, 1U, sizeof buffer, stdout); + for (int i = 0; i < sizeof buffer; i ++) { + printf("%02d: %02x\n", i, buffer[i]); + } fflush(stdout); } else {