Маленький демон управления светодиодами для RT-Thread
Littled — это очень простой и удобный в использовании пакет управления светодиодами, основанный на связях списков.
Название может показаться странным, но это сокращение от "Little LED Daemon", что означает маленький демон управления светодиодами. Этот пакет предназначен для помощи в управлении запросами от приложений по управлению светодiodами (включением, выключением, миганием и т.д.).
Дополнительно >> Блог CSDN
Имя | Описание |
---|---|
examples | Примеры |
inc | Каталог заголовочных файлов |
src | Каталог исходных файлов |
Пакет Littled использует лицензию Apache License v2.0, подробнее см. файл LICENSE
.
Чтобы использовать пакет Littled, его следует выбрать в менеджере пакетов RT-Thread, следуйте указанному пути:
RT-Thread online packages --->
Peripheral libraries and drivers --->
[*] littled: Little LED Daemon for LED driver --->
```Затем выполните автоматическое обновление менеджера пакетов RT-Thread или используйте команду `pkgs --update`, чтобы обновить пакет до BSP.
## 3. Использование пакета Littled
### 3.1 Версии
| Версия | Описание |
| ------ | --------------------------- |
| v0.2.0 | Первый выпуск, реализует все необходимые функции |
| latest | Дальнейшее улучшение |
На данный момент находится в стадии бета-тестирования, рекомендуется использовать последнюю версию для разработчиков.
### 3.2 Настройки
- Интервал времени: `PKG_USING_LITTLED_PERIOD`
- Ширина импульса (время высокого уровня): `PKG_USING_LITTLED_PULSE`
- Время мигания: `PKG_USING_LITTLED_BELL_TIME`
- Частота мигания: `PKG_USING_LITTLED_BEEP_COUNT`
> Единицы измерения времени — миллисекунды (ms).
## 4. Описание API
### 4.1 Регистрация и отмена регистрации
Единственным требованием для использования службы littled является регистрация светодиода. Регистрационный интерфейс представлен ниже:
```c
int led_register(rt_base_t pin, rt_base_t active_logic);
```Вызов этого метода приводит к выделению динамического блока памяти для gp2y10_device_t и инициализации по указанным параметрам.
| Параметр | Описание |
| --------------- | --------------------------------------------- |
| pin | Пин LED |
| active_logic | Эффективное логическое значение (PIN_HIGH/PIN_LOW) |
| **Возврат** | —— |
| Дескриптор LED | Успешная регистрация, возвращается дескриптор LED, который больше либо равен 0 |
| < 0 | Несоответствие регистрации, возвращается код ошибки |Примечание: В данном контексте `PIN_HIGH` и `PIN_LOW` являются специфическими значениями констант, поэтому они остаются без изменения. Если вы больше не нуждаетесь в управлении определенной светодиодной лентой, можно вызвать следующий интерфейс для отмены регистрации. После отмены регистрации повторное использование управления будет недействительным.
```c
void led_unregister(int ld);
Параметры | Описание |
---|---|
ld | Дескриптор LED |
Возвращаемое значение | —— |
---|
После успешной регистрации можно использовать функцию led_mode
, чтобы контролировать работу LED.
int led_mode(int ld, rt_uint32_t period, rt_uint32_t pulse, rt_uint32_t time, rt_uint32_t count);
Параметры | Описание |
---|---|
ld | Дескриптор LED |
period | Время периода, единицы – мс |
pulse | Ширина импульса (время высокого уровня), единицы – мс |
time | Время мигания, единицы – мс |
count | Количество миганий |
Возвращаемое значение | —— |
---|---|
RT_EOK | Поскольку используется асинхронное управление, возврат RT_EOK не означает завершение управления LED, поэтому можно игнорировать возвращаемое значение |
Для удобства работы определены некоторые часто используемые режимы управления, рекомендуется использовать их напрямую:- Включение LED
```c
#define LED_ON(ld)
```
Выключение LED
#define LED_OFF(ld)
Переключение состояния LED
#define LED_TOGGLE(ld)
Уведомление через LED
#define LED_BEEP(ld)
Звуковой сигнал через LED
#define LED_BELL(ld)
Постоянное мигание LED
#define LED_BLINK(ld)
Быстрое постоянное мигание LED
#define LED_BLINK_FAST(ld)
Медленное постоянное мигание LED
#define LED_BLINK_SLOW(ld)
По умолчанию период мигания составляет 1 секунду, Duty Cycle равен 50%. Вы можете изменить соответствующие значения по умолчанию пакета littled с помощью команды scons --menuconfig
.
Смотрите каталог docs.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )