第三课--MicroWRT 复用GPIO的使用
本节教程主要介绍如何释放及使用GPIO复用引脚。因为受芯片资源的限制,一些GPIO引脚是复用的,有时候我们需要释放这些
我们查看7620A的datasheet,会看到如下的GPIO引脚。(注:如下资料来自MT7620 datasheet) GPIO的注册在openWrt的编译目录下,/target/linux/ramips/dts/mt7620n.dtsi里有对gpio的注册。 结合mt7620的datasheet里GPIO pin share schemes以及在mt7620n.dtsi里我们看到有, 将GPIO#0到GPIO#72(中间有仅仅做GPO或GPI的)分为四组GPIO0-GPIO3; 对应GPIO0是从GPIO#0开始到GPIO#23,一共有24个;对应GPIO1是从GPIO#24开始到GPIO#39,一共有16个; 对应GPIO2是从GPIO#40开始到GPIO#71,一共有32个;
GPIO 在dts中的描述: 注册GPIO引脚我们的固件使用/target/linux/ramips/dts/MZK-750DHP.dts 作为基础,并进行功能的添加。如果想用GPIO接口首先要使能GPIO并且释放gpio引脚复用功能。 在本教程中,我们将复用WLED引脚来控制LED灯的亮灭。通过查7620A的datasheet,可以知道WLED引脚对应GPIO#72,及第4组GPIO。 1.首先来使能GPIO. 打开ZXK-750DHP.dts, 做如下修改。 2.释放引脚复用功能 3.注册GPIO dts里对设备的注册很简单,如gpio-leds的注册,compatible要与Led的驱动leds-gpio.c里compatible对应,label是设备的名字, 设备注册成功,在microWRT的文件系统下就会有 /sys/class/leds/microwrt:blue:air。 在microWRT的WLED 引脚和GND引脚之间接上一个LED,然后通过下面的命令来控制LED灯的亮灭。 echo 1 > /sys/class/leds/microwrt\:blue\:air/brightness echo 0 > /sys/class/leds/microwrt\:blue\:air/brightness 结果 |