как установить и прочитать значение для булавки gpio?

У меня появилась новая малина-пи, и я играю со светодиодами. Я пытаюсь понять, как устанавливается значение gpio-pin. Он читает где-то из файловой системы?

Я просматривал модуль node.js , который устанавливает значение в /sys/devices/virtual/gpio/gpio18/value. С другой стороны, я просмотрел источник RPi.GPIO python, который не использует один и тот же путь fs.

Я хотел бы понять, как это значение задано и прочитано.

4 голоса | спросил Madhusudhan 23 SunEurope/Moscow2012-12-23T02:01:23+04:00Europe/Moscow12bEurope/MoscowSun, 23 Dec 2012 02:01:23 +0400 2012, 02:01:23

1 ответ


6

Программно существует только один способ использования контактов GPIO, которые записывают и считывают часть памяти в процессоре. Но поскольку это ОС типа unix, мы используем в основном, а unix сопоставляет все файлы, драйвер ядра, загружаемый для использования контактов GPIO, сопоставляет контакты с этими файлами, о которых вы говорите. Но внутренне этот драйвер делает то же самое, используйте эту часть памяти, чтобы получить требуемый результат. Это называется I /O с отображением памяти.

Таким образом, код RPi.GPIO, о котором вы говорите, использует прямую память, node.js использует драйвер ядра (и, следовательно, немного медленнее), основываясь на файле, который вы пишете (или читаете) драйвер ядра «знает», какой адрес для записи /чтения из памяти. Поскольку это приложение node.js не знает о том, «как» использовать сами контакты GPIO, он лучше переносится тогда кодом RPi.GPIO (но это немного фона и для текущего статуса RPi совершенно не имеет значения)

ответил ikku 23 SunEurope/Moscow2012-12-23T04:16:57+04:00Europe/Moscow12bEurope/MoscowSun, 23 Dec 2012 04:16:57 +0400 2012, 04:16:57

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132