36. RGB UIO LED Control С Program

36.1. Описание

Программа на языке C для управления RGB-светодиодом через UIO-драйвер в Linux. Позволяет включать красный, зелёный и синий светодиоды по отдельности или в комбинациях, а также выключать их.

Программа открывает устройство /dev/uio0, отображает в память регистры управления GPIO и записывает в них значения для управления светодиодами.

36.2. Функционал

  • Включение красного светодиода

  • Включение зелёного светодиода

  • Включение синего светодиода

  • Включение любых комбинаций цветов

  • Выключение всех светодиодов

36.3. Использование

  1. Скомпилируйте программу:

gcc -o rgb_test rgb_test.c
  1. Запустите программу с параметром, указывающим цвет:

sudo ./rgb_test red      # Включить красный светодиод
sudo ./rgb_test green    # Включить зелёный светодиод
sudo ./rgb_test blue     # Включить синий светодиод
sudo ./rgb_test off      # Выключить светодиоды
sudo ./rgb_test rgb      # Включить красный + зелёный + синий (белый)
  1. Параметры команды:

  • 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 или выше.