树莓派3b板上有两个LED, pwr (power) 和 act (activity)。是platform_driver gpio-led驱动。

可以通过设备树和gpio-led来额外控制一个LED。如下图在P25和GND之间接入一个发光二极管。

在设备树bcm2710-rpi-3-b.dts中添加一个LED2来控制外部的LED

&leds {
act_led: act {
label = "led0";
linux,default-trigger = "mmc0";
gpios = <&virtgpio 0 0>;
}; pwr_led: pwr {
label = "led1";
linux,default-trigger = "input";
gpios = <&expgpio 7 0>;
}; test_led: test {
label = "led2";
linux,default-trigger = "input";
gpios = <&gpio 26 0>;
};
};

重新编译dtb,

  1. make bcm2709_defconfig
  2. make dtbs

将生成的bcm2710-rpi-3-b.dtb复制到SD卡boot下, 启动后,可以看到LED2出现

pi@raspberrypi:~ $ cd /sys/class/leds/
pi@raspberrypi:/sys/class/leds $ ls
led0 led1 led2
pi@raspberrypi:/sys/class/leds $ cd led2
pi@raspberrypi:/sys/class/leds/led2 $ ls
brightness device max_brightness power subsystem trigger uevent
pi@raspberrypi:/sys/class/leds/led2 $ cat trigger
none rc-feedback kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock timer oneshot heartbeat backlight gpio cpu cpu0 cpu1 cpu2 cpu3 default-on [input] panic mmc1 mmc0 rfkill-any rfkill0 rfkill1

通过设置brightness可以亮灭LED

heartbeat 来触发LED blink

pi@raspberrypi:/sys/class/leds/led2 $ cat brightness
0
pi@raspberrypi:/sys/class/leds/led2 $ sudo sh -c "echo 1 > brightness"
pi@raspberrypi:/sys/class/leds/led2 $ cat brightness
0
pi@raspberrypi:/sys/class/leds/led2 $ sudo sh -c "echo heartbeat > trigger"
pi@raspberrypi:/sys/class/leds/led2 $ sudo sh -c "echo none > trigger"
pi@raspberrypi:/sys/class/leds/led2 $

Reference

Linux下用文件IO的方式操作GPIO(/sys/class/gpio)

https://blog.csdn.net/lu_embedded/article/details/53061901

最新文章

  1. MySQL基础之视图
  2. Json CPP 中文支持与入门示例
  3. Java 多张图片合成一张 drawImage
  4. TODO的使用
  5. java高新技术-反射
  6. POJ 2184 01背包+负数处理
  7. WebMethod属性详解
  8. Jmeter测试Mysql
  9. vim 大小写转化命令
  10. Anti-Grain Geometry 概述
  11. android 后台附件下载
  12. CoreData Multiple Context性能分析-读书笔记
  13. 王立平--怎么查看Unity的版本号
  14. 了解 : angular $filter stateful
  15. 委托、事件、Observer观察者模式的使用解析一
  16. EventBus在Android中的简单使用
  17. 【并发编程】MESI--CPU缓存一致性协议
  18. 小程序 新建项目底部tabbar
  19. iOS模拟器:Undefined symbols for architecture x86_64
  20. 关于Inception默认配置的一个坑

热门文章

  1. HDU-ACM“菜鸟先飞”冬训系列赛——第9场
  2. 洛谷 P2770 航空路线问题【最大费用最大流】
  3. CF449D Jzzhu and Numbers
  4. java中什么包不需要导入
  5. Proactive Patching Overview
  6. 快速体验openstack-用devstack安装openstack
  7. &quot;言官误国&quot;
  8. Sort排序浅聊
  9. 调用wsdl接口,参数是xml格式
  10. AJPFX学习笔记JavaAPI之String类