Глава 5. 4.2 Первый драйвер успешно загружен, оба GPIO корректно читаются, и кнопки работают
🎥 В этом видео вы узнаете, как пошагово проверить работу собственного Linux-драйвера для GPIO-кнопок на Raspberry Pi 3. Я покажу, как: собрать и загрузить драйвер в ядро, проверить его работу с помощью dmesg, cat и /dev, и, наконец, как физически нажатием кнопок убедиться, что всё работает! Также дам советы, как можно улучшить драйвер: добавить poll(), debounce, использовать современный gpiod API и даже сделать полноценное input-устройство. 📋 Сценарий (пошагово) 1. 🛠 Подготовка Подключите кнопки к GPIO 17 и GPIO 27 (через резисторы подтяжки или встроенные pull-up'ы). 2. Проверьте схему подключения. 3. ⚙️ Сборка и загрузка драйвера Скомпилируйте модуль: bash make sudo insmod hellokeys_rpi3_misc_dt.ko Убедитесь, что модуль загружен: bash dmesg | grep hellokeys 4. 🧪 Проверка программно Проверьте, появился ли файл: bash ls /dev/mydev Прочитайте состояние кнопок: bash cat /dev/mydev Ожидаемый вывод: makefile key1: 0 key2: 1 5. 👆 Проверка аппаратно Нажимайте физические кнопки, при этом повторяйте: bash cat /dev/mydev Убедитесь, что значения key1 или key2 меняются с 0 на 1. 🚀 Предложения по улучшению ✅ Добавить debounce (программную фильтрацию дребезга) 🕹 Добавить poll()/select() поддержку 🎛 Перевести на gpiod_ API (gpiod_get(), gpiod_get_value()) 🎮 Сделать input-драйвер (input_register_device()) — чтобы кнопки работали как клавиши
Название:
Глава 5. 4.2 Первый драйвер успешно загружен, оба GPIO корректно читаются, и кнопки работают
Категория:
Разное