WIP. Для отладки

This commit is contained in:
Maxim
2026-04-29 13:57:54 +03:00
parent 9d8910af0a
commit e1628a6c0a

17
examples/gpio-interrupt.c Executable file → Normal file
View File

@@ -19,6 +19,14 @@
#include <sys/time.h> #include <sys/time.h>
#include <wiringPi.h> #include <wiringPi.h>
/*
жёлтый д0
красный такт
чёрный д1
синий д2
зелёный д3
оранжевый - общий
*/
unsigned int wr_pin = 27; /** Вывод для сигнала записи */ unsigned int wr_pin = 27; /** Вывод для сигнала записи */
unsigned int pins[] = { 21, 7, 6, 5, 25, 24, 23, 22 }; /** Выводы для данных */ 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; static struct fifo isr_ff;
int c = 0;
void isr_handle(void) { 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); fifo_try_write(&isr_ff, &byte_read, 1);
} }
@@ -137,7 +145,10 @@ int main(void) {
while (true) { while (true) {
bool is_read = fifo_try_read(&isr_ff, buffer, sizeof buffer); bool is_read = fifo_try_read(&isr_ff, buffer, sizeof buffer);
if (is_read) { 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); fflush(stdout);
} }
else { else {