路由器固件编译中的GPIO应用——控制LED

2019-01-16  本文已影响0人  小半_7a2b

起因

上一篇初探了路由器上GPIO的应用,当刷好不死breed后,刷入自编译的固件,常常会遇到LED指示灯错误。

科普


例如上一篇在breed中对于引脚的输出

GPIO#1 (<gpio0,1>) changed to 0        第0组的第一个引脚(也就是GPIO #1)变为低电平
GPIO#32 (<gpio1,8>) changed to 0       第1组的第八个引脚(也就是GPIO #32)变为低电平

解决方案

  1. 对于LED的GPIO引脚定义不正确,需要先确定LED指示灯对应的GPIO引脚号,例如测试出来red LED对应GPIO #44、blue LED对应GPIO #42,具体确定引脚号操作与上一篇类似路由器选择breed时的GPIO引脚,在此不再赘述。
  2. 查看源码相关文件确定CPU引脚划分。一般为 $CPU型号.dtsi。 ZTE Q7路由器对应的mt7620.dtsi文件
  3. 在../target/linux/ramips/dts修改对应文件


    修改ZTE Q7路由器对应的ZTE-Q7.dts文件
  4. 修改完成,编译刷入测试。

参考链接

GPIO复用引脚的释放及gpio-leds的注册

扩展

OpenWrt wiki-GPIO
路由器选择breed时的GPIO引脚
也许可以试着用通过网络控制路由器来开关灯?

上一篇 下一篇

猜你喜欢

热点阅读