LINUX.ORG.RU

У другого компьютера не так много вариантов, это либо время, либо служебный сигнал. И если управление линиями данных идёт из юзерспейса, лучше второй вариант.

Посмотри, как SPI работает, и сделай по аналогии. Если на принимающей стороне тоже не реалтайм, выдели линию для отбоя об окончании приёма.

Deleted ()

gpio - это или ввод или вывод (или хитрый ввод-вывод за cчет мягких подтяжек)

Т.е. один компьютер настраивает пин на выход, что бы передавать.

Второй настраивает пин на вход, чтобы читать. Чтение м.б. по поллингу, когда пин опрашивается через некоторые интервалы времени. Или по событию (прерыванию), когда при изменении состоянии пина вызывается код вне контекста основного цикла программы.

Пины между компьютерами обедняются проводом.

Чтобы передавать данные по одному проводу придумано куча протоколов асинхронной (uart) и синхронной передачи (spi, i2с, 1-wire etc)

zudwa ()
Последнее исправление: zudwa (всего исправлений: 2)
Ответ на: комментарий от zudwa

Меня интересует свразу выдать 32 бита и считать 32 бита. Плата 32 разрядная. Режим поллинга не подходит из-за недерминирированной задержки. Прерывание норм. А как в линуксе поймать прерывание и вызвать callback?

Miha ()
Ответ на: комментарий от Miha

для параллельных шин сигналы строба обычно существуют, т.е. это уже не gpio в чистом виде.

для обработки прерываний от gpio, gpio должно его поддерживать.

https://www.kernel.org/doc/Documentation/gpio/sysfs.txt

Кратко, настраивается режим порта edge, после чего событие ловится при помощи poll

zudwa ()
Ответ на: комментарий от Miha

в компьютере нет GPIO. Есть в устройствах вроде Raspberry Pi и микроконтроллерах Arduino и других. Надо читать документацию по имеющеиуся устройству.

Partisan ★★★ ()
Ответ на: комментарий от Miha

Рассматриваю вот такую плату.

https://numato.com/docs/32-channel-usb-gpio-module-with-analog-inputs/

не пробовал почитать что написано по твоей ссылке ? Там совсем не обычный GPIO для Linux а плата расширения, интерфейс через эмуляцию последовательного порта через USB. Там написано как переключить GPIO на вход/выход, как настроить отправку сообщений при изменении состояния входа и в каком виде это прилетает в последовательный порт.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.