请问,WIDOR BIT 模块中的WPS引脚的寄存器配置是多少,发现程序里是通过脚本控制的,
我想把它作为一个多功能的按键,比如长按3秒(不放开,自动判断超过3S)就初始化,短按一下开始配置网络。
目前只能实现按下5S后放开才能进入初始化;如何才能按下按键3s后,不放开就能初始化呢?
刚刚开始学习,希望各位大神不要嫌问题太简单。。。。
请问,WIDOR BIT 模块中的WPS引脚的寄存器配置是多少,发现程序里是通过脚本控制的,
我想把它作为一个多功能的按键,比如长按3秒(不放开,自动判断超过3S)就初始化,短按一下开始配置网络。
目前只能实现按下5S后放开才能进入初始化;如何才能按下按键3s后,不放开就能初始化呢?
刚刚开始学习,希望各位大神不要嫌问题太简单。。。。
恩 ,按键触发(按下,弹起)WPS,然后通过WPS传数据到C里面,通过一个线程不停地判断。
楼主问题解决了吗?能否教程一下,我也是新手😊
IO检测是polling模式,但不确定是否可以多线程运行,得测试才知道。
感谢回答
再问一下,这个WPS是中断模式的吗
比如 我在WPS中加入SLEEP5
然后按下按键后 进入WPS处理,
接着(间隔小于5S)马上再按下按键
我发现,他并不会马上再进入WPS
要等一段时间才会再进入
是这样的吗
WPS中有程序在跑,再按下按键,要等上一次的脚本程序处理完,才会又一次进入WPS?
文件修改:https://github.com/widora/openwrt_widora/commit/4a19a75f6f816f3ea8d5eb976a73decc0dc28304#diff-defbc103fc24eee2f9066bbe1030c412
注意:这里边的“秒”不准确,用的1实际测试可能按照2-3秒才响应
#!/bin/sh
[ "${ACTION}" = "released" -o "${ACTION}" = "timeout" ] || exit 21
. /lib/functions.sh
echo "$BUTTON pressed for $SEEN seconds" > /dev/console
# factory reset
if [ "$SEEN" -gt 1 ]
then
echo "FACTORY RESET" > /dev/console
jffs2reset -y
sync
reboot
fi
return 0