彻底关闭大猫盘的风扇
使用前辈的关风扇脚本测试风扇速度只是降低了,并没有完全关死。从猫盘的硬件电路上看,风扇是有两个N-MOS控制的。
使用万用表测量各元件参数,反推原理图如下
由原理图可以看出,风扇是由两个IO控制的,一个IO是GPIO450,另一个IO经过我反复测试发现是GPIO448,只有把两个IO都设置为低电平,风扇才会彻底停止工作。
由原理图可以看出,风扇可以设置为多个档位的工作模式,
高档:两个IO都输出高电平。
中档:GPIO450输出高电平,GPIO448输出低电平。
低档:GPIO450输出低电平,GPIO448输出高电平。
关闭:两个IO都输出低电平。
知道了是哪两个GPIO,就可以使用下面的代码把风扇彻底关闭
# 定义需要操作的GPIO引脚列表
GPIO_PINS=(450 448)
# 遍历每个GPIO引脚进行配置
for pin in "${GPIO_PINS[@]}"; do
# 检查GPIO引脚是否已导出,未导出则执行导出操作
if [ ! -d "/sys/class/gpio/gpio${pin}" ]; then
echo "${pin}" > /sys/class/gpio/export
# 增加短暂延时,避免系统响应不及时导致的配置失败
sleep 0.1
fi
# 设置GPIO为输出模式
echo "out" > "/sys/class/gpio/gpio${pin}/direction"
# 设置GPIO输出低电平(0:关闭风扇)
echo 0 > "/sys/class/gpio/gpio${pin}/value"
# 输出配置成功的提示(可选,便于调试)
echo "GPIO${pin} 已配置为输出低电平"
done
页:
[1]