Little LED Daemon for RT-Thread
littled 是一个基于链表的非常简单易用的 LED 控制软件包。
名字看起来有点奇怪,是 Little LED Daemon 的缩写,意思是小巧的 LED 驱动服务线程。用于帮助处理来自应用线程对 LED 亮、灭、闪烁等控制需求。
更多 >> https://blog.csdn.net/lu_embedded/article/details/104565786
名称 | 说明 |
---|---|
examples | 示例目录 |
inc | 头文件目录 |
src | 源代码目录 |
littled 软件包遵循 Apache license v2.0 许可,详见 LICENSE
文件。
使用 littled package 需要在 RT-Thread 的包管理器中选择它,具体路径如下:
RT-Thread online packages --->
peripheral libraries and drivers --->
[*] littled: Little LED Daemon for LED driver --->
然后让 RT-Thread 的包管理器自动更新,或者使用 pkgs --update
命令更新包到 BSP 中。
版本 | 说明 |
---|---|
v0.2.0 | 初始版本,实现预期功能 |
latest | 进一步优化 |
目前处于公测阶段,建议开发者使用 latest 版本。
PKG_USING_LITTLED_PERIOD
PKG_USING_LITTLED_PULSE
PKG_USING_LITTLED_BELL_TIME
PKG_USING_LITTLED_BEEP_COUNT
时间的单位为毫秒(ms)
使用 littled 服务线程的唯一要求是注册 LED,注册接口如下:
int led_register(rt_base_t pin, rt_base_t active_logic);
调用这个函数时,会从动态堆内存中分配一个 gp2y10_device_t 句柄,并按给定参数初始化。
参数 | 描述 |
---|---|
pin | LED 引脚 |
active_logic | 有效电平逻辑值(PIN_HIGH/PIN_LOW) |
返回 | —— |
LED 描述符 | 注册成功,返回一个大于等于 0 的 LED 描述符 |
< 0 | 注册失败,返回错误代码 |
如果您不再需要控制某个 LED 了,可以调用如下接口取消注册,取消注册后再调用控制接口将无效。
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 | 周期时间,单位 ms |
pulse | 脉冲宽度(高电平持续时间),单位 ms |
time | 闪烁持续时间,单位 ms |
count | 闪烁次数 |
返回 | —— |
RT_EOK | 由于采用异步操作,返回 RT_EOK 并不代表完成 LED 控制,因此可不关注返回值 |
为方便操作,定义了一些常用控制模式,建议直接使用。
LED 亮
#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 秒,占空比 50%,您可以通过 scons --menuconfig
修改 littled 软件包的相关默认配置。
见 docs 目录。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Activity
Community
Health
Trend
Influence
:Code submit frequency
:React/respond to issue & PR etc.
:Well-balanced team members and collaboration
:Recent popularity of project
:Star counts, download counts etc.