|
本帖最后由 rush 于 2019-9-13 14:20 编辑
粒子云风扇调速原理
原理就是先把gpio79拉高,然后再控制gpio70(PWM2)
反编译你现在用的dtb,随便什么系统都行,以armbian为例(假设dtb是rock64-rk3228.dtb):
dtc -I dtb -O dts -o source.dts rock64-rk3228.dtb
找到关于PWM2的部分(这部分来自rk3228.dtsi不可能没有,跟系统无关)
pwm@ff1b0020 {
compatible = "rockchip,rk3328-pwm";
reg = <0x0 0xff1b0020 0x0 0x10>;
#pwm-cells = <0x3>;
pinctrl-names = "active";
pinctrl-0 = <0x52>;
clocks = <0x2 0x3c 0x2 0xd6>;
clock-names = "pwm", "pclk";
status = "okay";
phandle = <0xb0>;
};
在你的文件上是status = "disabled"; 改为像我这样 status = "okay";
以启用PWM2功能
然后回编译:
dtc -I dts -O dtb -o rock64-rk3228.dtb source.dts
替换,重启
设置79脚高电平输出:
echo 79 > /sys/class/gpio/export
echo high > /sys/class/gpio/gpio79/direction
设置70脚PWM(占空比应该在0-20000可调):
echo 0 > /sys/class/pwm/pwmchip0/export
echo 30000 > /sys/class/pwm/pwmchip0/pwm0/period
echo 10000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
echo normal > /sys/class/pwm/pwmchip0/pwm0/polarity
echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
菜鸟想变成高手,什么事情都要知道原理,远离什么OMV打包固件和WEB界面,难道以后买了台VPS你真的装个面板上去??apt下载来的软件包+SSH足够任何人用。
能看到这里的朋友,再来一段代码,将蓝色指示灯作为内置emmc读写指示,效果非常漂亮
我就不说替换到哪里了(根据上面内容做完实验,你大概已经知道了)
gpio2@ff230000 {
compatible = "rockchip,gpio-bank";
reg = <0x0 0xff230000 0x0 0x100>;
interrupts = <0x0 0x35 0x4>;
clocks = <0x2 0xca>;
gpio-controller;
#gpio-cells = <0x2>;
interrupt-controller;
#interrupt-cells = <0x2>;
phandle = <0x47>; 记住这里的0x47,我们不一样
};
找到:
leds {
compatible = "gpio-leds";
blue {
linux,default-trigger = "mmc0";
gpios = <0x47 0x15 0x0>; 记得改成你的
};
最后还有个小礼物:开关机按键:GPIO2,本人首发,想拿去收费的自重!
|
评分
-
查看全部评分
|