硬件信息


内核版本:Linux 4.9

硬件原理:

  1. GPIO 通过一颗 MOS 管(2N7002ET1G),接到 LED 负极,LED 正极接电源。
  2. GPIO 通过拉高导通 MOS ,将 LED 接地,实现点亮 LED。

内核配置


配置内核驱动:make ARCH=arm64 menuconfig

Device Drivers  --->
-*- LED Support --->
<*> LED Support for GPIO connected LEDs
-*- LED Trigger support --->
<*> LED Timer Trigger
<*> LED One-shot Trigger
<*> LED Heartbeat Trigger
<*> LED backlight Trigger
[*] LED CPU Trigger
<*> LED GPIO Trigger
<*> LED Default ON Trigger

配置文件


配置硬件信息:sys_config.fex

全志平台便捷方式配置,也可以使用通用的 dts 配置方式

[leds]
compatible = "gpio-leds"; [leds/red]
label = "red";
linux,default-trigger = "timer"
gpio = port:PL08<1><default><default><0> [leds/blue]
label = "blue";
linux,default-trigger = "heartbeat"
gpio = port:PL07<1><default><default><0>

使用方法


正常情况下可以看到两颗灯以不同的节奏闪烁

  1. 检查相应设备节点
root@localhost:/# ls /sys/class/leds
blue red root@linux:/# ls /sys/class/leds/blue
brightness device invert max_brightness power subsystem trigger uevent root@linux:/# ls /sys/class/leds/red
brightness delay_on max_brightness subsystem uevent
delay_off device power trigger
  1. 关闭触发功能
root@linux:/# echo "none" > /sys/class/leds/blue/trigger
root@linux:/# echo "none" > /sys/class/leds/red/trigger
  1. 点亮关闭指定 LED(高亮、低灭)
root@linux:/# echo 1 > /sys/class/leds/blue/brightness
root@linux:/# echo 0 > /sys/class/leds/blue/brightness
  1. 设置定时闪烁 LED(亮 100ms,灭 1000ms)
root@linux:/# echo "timer" > /sys/class/leds/blue/trigger
root@linux:/# echo 100 > /sys/class/leds/blue/delay_on
root@linux:/# echo 1000 > /sys/class/leds/blue/delay_off

最新文章

  1. [LeetCode] Can I Win 我能赢吗
  2. DSO之光度标定
  3. MongoDB学习笔记~为IMongoRepository接口更新指定字段
  4. express:webpack dev-server开发中如何调用后端服务器的接口?
  5. Android 实用开源控件
  6. android基础(四)service
  7. 初识js中的闭包
  8. [30分钟]MSSQL快速入门教程
  9. ads 错误
  10. Linux下Nagios的安装与配置
  11. 【转】Polymer API开发指南 (一)(翻译)
  12. python tornado框架使用
  13. 三. ServerSocket用法
  14. vmware workstation 10.0
  15. [MySQL复制异常]&#39;Cannot execute statement: impossible to write to binary log since statement is in row format and BINLOG_FORMAT = STATEMENT.&#39;
  16. js学习总结
  17. ehcache 分布式集群同步数据实例
  18. 组织Golang代码
  19. mapreduce 内存分配
  20. Atitit s2018 s3 doc list alldvc.docx&#160;.docx s2018 s3f doc compc s2018 s3f doc homepc sum doc dvcCompc dtS312 s2018 s3f doc compc\Atitit PathUtil 工具新特性新版本 v8 s312.docx s2018 s3f doc compc\Atitit 操作日

热门文章

  1. mybatis-特殊查询
  2. Codeforces Round #812 (Div. 2) E(并查集)
  3. 更改安装Oracle数据库时设定的System sys等用户的密码
  4. 【深入浅出 Yarn 架构与实现】2-2 Yarn 基础库 - 底层通信库 RPC
  5. Windows骚操作
  6. perl chmod
  7. Swagger的介绍
  8. 2022春每日一题:Day 29
  9. 解决PyQt5报错defaultServiceProvider::requestService(): no service found for..
  10. 关于linux更改root用户下面的鼠标样式