36. RGB UIO LED Control С Program
36.1. Описание
Программа на языке C для управления RGB-светодиодом через UIO-драйвер в Linux. Позволяет включать красный, зелёный и синий светодиоды по отдельности или в комбинациях, а также выключать их.
Программа открывает устройство /dev/uio0, отображает в память регистры управления GPIO и записывает в них значения для управления светодиодами.
36.2. Функционал
Включение красного светодиода
Включение зелёного светодиода
Включение синего светодиода
Включение любых комбинаций цветов
Выключение всех светодиодов
36.3. Использование
Скомпилируйте программу:
gcc -o rgb_test rgb_test.c
Запустите программу с параметром, указывающим цвет:
sudo ./rgb_test red # Включить красный светодиод
sudo ./rgb_test green # Включить зелёный светодиод
sudo ./rgb_test blue # Включить синий светодиод
sudo ./rgb_test off # Выключить светодиоды
sudo ./rgb_test rgb # Включить красный + зелёный + синий (белый)
Параметры команды:
red— включить красный светодиодgreen— включить зелёный светодиодblue— включить синий светодиодoff— выключить все светодиодыКомбинации цветов (например,
rg— красный + зелёный)
36.4. Требования
Наличие загруженного UIO-драйвера, отображающего GPIO контроллер
Права доступа к устройству /dev/uio0 (обычно запуск с sudo)
Аппаратное подключение RGB-светодиода к GPIO, соответствующее настройкам драйвера
36.5. Отладка
Проверьте, что устройство /dev/uio0 существует и доступно:
ls -l /dev/uio0
Если возникает ошибка «Permission denied», запустите программу с sudo или настройте права доступа к устройию.
Убедитесь, что драйвер успешно загрузился и отображает область памяти:
dmesg | grep rgb_uio
36.6. Автор
Программа разработана совместно с ChatGPT и командой KONTAKT’S.
36.7. Лицензия
GPL v2 или выше.