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 {