精华内容
下载资源
问答
  • 复位按钮制作方法
  • 行业分类-外包设计-一种外接复位按钮的饲料打包秤计数器.zip
  • 行业资料-电子功用-漏电断路器的漏电测试与漏电复位按钮为一体的装置
  • 添加复位按钮

    千次阅读 2015-05-15 13:51:25
    复位按钮,openwrt自身的很实用(应该是tp的),按住它保持十几秒开机的时候让它复位所有数据听起来很号,如果能够源码注入那就很好了,这样复位按钮更好的作用 (tplink官方固件的)reset按钮是如何扑捉的...

    发现

    • uci-defaults 看起来可以注入设置文件
    #!/bin/sh
     
    uci -q show system.@restorefactory[0] || {
    	uci add system restorefactory
    	uci set system.@restorefactory[0].button=reset
    	uci set system.@restorefactory[0].action=pressed
    	uci set system.@restorefactory[0].timeout=5
    	uci commit
    }

    森亮号修改镜像

    https://code.google.com/p/openwrt-restorefactory-slboat/

    修改

    增加LED显示,10秒默认超时

    • 按下复位按钮将2.5秒一次开始显示,如果按住保持了10秒,那就开始快速闪烁,代表已经开始复位了
    • 当中途取消的时候,LED恢复点亮
    • 默认超时时间改为了10秒,5秒可能容易误触发

    源码

    #!/bin/sh
     
    # let's loag the led
    . /etc/diag.sh
    get_status_led
     
    # for failsafe mode,it cant read everything
    button="reset"
    action="pressed"
    timeout=10
     
    system_config() {
    	config_get button "$1" button "reset"
    	config_get action "$1" action "pressed"
    	config_get timeout "$1" timeout "10"
    }
     
    config_load system
    config_foreach system_config restorefactory
     
    [ "$BUTTON" = "$button" ] && {
    	[ -f /tmp/run/restore_now.pid ] && logger -p user.info -t "restorefactory" "restore to factory are start working now!" && exit 1 
     
    	# if we cancal one,then Let the led just normal ON
    	[ -f /tmp/run/restorefactory.pid ] && read PID < /tmp/run/restorefactory.pid && kill $PID && rm /tmp/run/restorefactory.pid && logger -p user.info -t "restorefactory" "restore to factory defaults aborted" && set_state done && [ -f /tmp/.failsafe ] && set_state failsafe
     
    	[ "$ACTION" = "$action" ] && {
     
    		if [ "$timeout" -gt 0 ]
    		then
    			# make the led slow ,so we know now are doing restore
    			status_led_set_timer 250 250
     
    			# make sure we can use the folder/tmp/run,mostly just not easy use it in failsafemode
    			mkdir -p /tmp/run/
     
    			# wait the time and let led flash like failsafe
    			sleep "$timeout" && status_led_set_timer 80 200 && rm /tmp/run/restorefactory.pid && echo work > /tmp/run/restore_now.pid && firstboot && set_state done && sleep 2 && reboot -f &			
     
    			echo $! > /tmp/run/restorefactory.pid
     
    			logger -p user.info -t "restorefactory" "restoring to factory defaults in $timeout seconds"
    		elif [ "$timeout" -eq 0 ]
    		then
    			# make the led feelsafe 
    			set_state failsafe
     
    			firstboot && reboot &
    		else
    			logger -p user.info -t "restorefactory" "invalid timeout value ($timeout)"
    		fi
    	}
    }

    failsafe hook补丁增加

    • 注入一个开启hotplug的文件
    将它命名为:50_hotplug_for_failsafe.sh
    #!/bin/sh
    # This is strart hotplud for failsafe
    # the mod is by slboat
     
    start_hotplug2() {
            killall -q hotplug2
            [ -x /sbin/hotplug2 ] && /sbin/hotplug2 --override --persistent \
                            --set-rules-file /etc/hotplug2.rules \
                            --set-coldplug-cmd /sbin/udevtrigger \
                            --max-children 1 >/dev/null 2>&1 &
    	echo -e "\n SLBoat: The hotplug2 for the reset button has start!"
    	echo "IF you like,you can push reset button more than 10 second for firstboot"
     
      }
     
    boot_hook_add failsafe start_hotplug2
    • 它的效果看起来就像是这样
    JustCapIt4839.jpg

    源码欣赏

    /etc/hotplug.d/button/50-restorefactory
    #!/bin/sh
     
    #像是初始化设置
    system_config() {
    	# 绑定按钮,复位按钮
    	config_get button "$1" button "reset"
    	# 只有按下去后触发
    	config_get action "$1" action "pressed"
    	# 默认超时时间5秒
    	config_get timeout "$1" timeout "5"
    }
     
    # 从系统中载入设置,看起来通过的是UCI
    config_load system
    # 翟茹每一项restorefactory的系统设置
    config_foreach system_config restorefactory
     
    # 如果触发按钮匹配了
    [ "$BUTTON" = "$button" ] && {
            # 如果存在进程,读取进程id,杀死进程,删除进程id文件,记录本次事件
    	[ -f /tmp/run/restorefactory.pid ] && read PID < /tmp/run/restorefactory.pid && kill $PID && rm /tmp/run/restorefactory.pid && logger -p user.info -t "restorefactory" "restore to factory defaults aborted"
            # 发生了指定触发事件,在这里是复位按钮的按下信息,松开将触发上面那个玩意
    	[ "$ACTION" = "$action" ] && {
     
    		if [ "$timeout" -gt 0 ]
    		then
    		# 等待若干秒,之后执行复位重启,如果中间再次按下就会终止运行,这里最后的&是后台运行的玩意
    			sleep "$timeout" && firstboot && reboot &
    			# 有趣的是下面会直接执行,并不会等待上面的
    			# 写入当前的进程ID到一个文件里
    			echo $! > /tmp/run/restorefactory.pid
    			logger -p user.info -t "restorefactory" "restoring to factory defaults in $timeout seconds"
    		elif [ "$timeout" -eq 0 ]
    		# 如果超时时间设置是0,那么直接的重启
    		then
    			firstboot && reboot &
    		else
    			# 超时时间无效
    			logger -p user.info -t "restorefactory" "invalid timeout value ($timeout)"
    		fi
    	}
    }

    发现于

    编译Openwrt固件/编译嵌入LUCI

    软件包包含文件

    root@OpenWrt:/# opkg files restorefactory
    Package restorefactory (1-6) is installed on root and has the following files:
     
    /etc/uci-defaults/50-restorefactory
    /etc/hotplug.d/button/50-restorefactory

    工作原理

    • 利用复位按键的信息获取来进行重置一切
    [展开]

    原始源码

    困扰

    已失去困扰

    • failsafe模式下是否有用呢?
    完全无用这玩意

    音频想法


    • 复位按钮,openwrt自身的很实用(应该是tp的),按住它保持十几秒开机的时候让它复位所有数据听起来很号,如果能够源码注入那就很好了,这样复位按钮更好的作用

    • (tplink官方固件的)reset按钮是如何扑捉的呢?如果能扑捉它的话,那wr703启动安全模式的时候直接捕捉它,然后或许它就能进入安全模式,这听起来真是个不坏的主意。

    • 如何安全模式捕获reset按钮是否按下呢?读取cpu寄存器吗?

    • 利用控制ldo(reset?)这个按钮或者什么可以控制别的

    • 在Openwrt修改版中一直重启出现一个莫名其妙的堆栈错误,事实上有一定机会触发到,那就是直接执行到firstboot,然后在reboot,这样看起来就不会这般混乱里.
    [后来-401天后]->但是这个reboot的则看起来是因为注入了hotplug所致.

    编译需添加
    kernel modules
    ---> other modules
    --->kmod-button-hotplug
        kmod-gpio-button-hotplug
    展开全文
  • 51单片机复位按钮不灵敏的问题

    千次阅读 2019-04-22 02:01:45
    开发环境(蓝色粗体字为特别注意内容...看到电路图我们很容易理解前面的现象,按照51单片机复位原理,需要RST保持高电平一段时间,才能正常复位,当R18和C2取得比较大,按键短按的时候,电容器电量下降比较慢,造成电...

    开发环境(蓝色粗体字为特别注意内容)
    1、开发板:12C5A60S2。
    2、开发环境:Keil uv5

    今天在做一个51单片机最小系统的时候,发现复位按键不灵敏,需要按下比较长的时间才能够正常复位,电路及其参数如下:

    看到电路图我们很容易理解前面的现象,按照51单片机复位原理,需要RST保持高电平一段时间,才能正常复位,当R18和C2取得比较大,按键短按的时候,电容器电量下降比较慢,造成电容两端电压没有下降到一定程度,按键抬起,流过R13的电流自然比较小,因而无法在RST上维持一定时间的高电压,自然无法完成复位,于是电路参数改成如下形式:

     问题解决,按下按键就能够复位!

    展开全文
  • 关于fpga的复位

    千次阅读 2015-11-18 21:11:28
    如下Verilog源码,外部按键复位也将作为模块的一个引脚输入,用于异步的全局复位操作,正常的复位操作要进行,必须要求外部有一个短暂的脉冲作用在rst_n信号上,这可以通过按键电路中的RC电路实现。 /***********...

    上电自动复位

    原理上很简单,写一个复位模块,等待一段稳定时间,将复位信号拉低一段足够长的时间,再将复位信号拉高。

    如下Verilog源码,外部按键复位也将作为模块的一个引脚输入,用于异步的全局复位操作,正常的复位操作要进行,必须要求外部有一个短暂的脉冲作用在rst_n信号上,这可以通过按键电路中的RC电路实现。

    /**************************************
    *  功能:上电复位模块
    *  输入参数:
    *         clk: 50M 时钟输入
    *         rst_n:外部按键全局复位信号
    *  输出参数:
    *         sys_rst_n:系统全局同步复位信号
    ***************************************/
    module    reset
    (
        input    clk,
        input    rst_n,
        output   sys_rst_n
    );
    
    //------------------------------------------
    // Delay 100ms for steady state
    reg    [22:0] cnt;
    always@(posedge clk or negedge rst_n)
    begin
        if(!rst_n)
            cnt <= 0;
        else
            begin
            if(cnt < 23'd50_00000) //100ms
                cnt <= cnt+1'b1;
            else
                cnt <= cnt;
            end
    end
    
    //------------------------------------------
    //rst_n synchronism
    reg    rst_nr0;
    reg    rst_nr1;
    always@(posedge clk or negedge rst_n)
    begin
        if(!rst_n)
            begin
            rst_nr0 <= 0;
            rst_nr1 <= 0;
            end
        else if(cnt == 23'd50_00000)
            begin
            rst_nr0 <= 1;
            rst_nr1 <= rst_nr0;
            end
        else
            begin
            rst_nr0 <= 0;
            rst_nr1 <= 0;
            end
    end
    
    assign    sys_rst_n = rst_nr1;
    
    endmodule
    

    按键手动复位电路

    不使用专用芯片的参考低电平复位电路如下:

    reset1

    电路中的复位管脚一端连接到FPGA的某个普通通用管脚,这样电路中的RC电路将产生上面Verilog代码中的rst_n上电低脉冲,这就是本文开头说自动上电复位和硬件按键复位相辅相成。

    请注意两个电阻的值,R21要是R22的两个数量级以上,这样才能保证按键按下后被识别为低电平。

    手动复位过程中为保证按键复位的稳定性,还可以修改上面的Verilog代码进行按键消抖检测。下面是抓到的按键在闭合的时候的波形:

    key_bounce

    按键在几个us之内就能达到低电平,该期间触点抖动比较严重。

    module RMV_BJ (
        BJ_CLK,    //采集时钟,40Hz
        RESET,     //系统复位信号
        BUTTON_IN, //按键输入信号
        BUTTON_OUT //消抖后的输出信号
    );
    input B_CLK;
    input RESET;
    input BUTTON_IN;
    output BUTTON_OUT;
    reg BUTTON_IN_Q, BUTTON_IN_2Q, BUTTON_IN_3Q;
    
    always @(posedge BJ_CLK or negedge RESET)
    begin
        if(~RESET)
        begin
            BUTTON_IN_Q <= 1'b1;
            BUTTON_IN_2Q <= 1'b1;
            BUTTON_IN_3Q <= 1'b1;
        end
        else
        begin
            BUTTON_IN_Q <= BUTTON_IN;
            BUTTON_IN_2Q <= BUTTON_IN_Q;
            BUTTON_IN_3Q <= BUTTON_IN_2Q;
        end
    end
    
    wire BUTTON_OUT = BUTTON_IN_2Q | BUTTON_IN_3Q;
    
    endmodule
    

    除了上面简单的复位电路,还可使用CAT811/TPS3823-33等专门的复位芯片,可以免去按键按键消抖的操作。

    展开全文
  • 指示灯组与3个复位按钮的介绍Arduino Yun快速入门教程

    指示灯组与3个复位按钮的介绍Arduino Yun快速入门教程

    ​1.4.2  指示灯组

    指示灯组的放大图如图1.5所示。


    1.5  指示灯组

    各个指示灯对应的功能如下:

    q  RX:对应于0号端口,串行通讯的接收指示,在接收数据时闪烁;

    q  TX:对应于1号端口,串行通讯的发送提示,在发送数据时闪烁;

    q  L13:连接在13号端口,当13号端口为高电平时被点亮;

    q  WAN:有线网络连接指示,在网线有数据交换的时候点亮;

    q  ON:电源指示;

    q  WLANWIFI指示,同时也可以用来在Linux端复位时指示进度;

    q  USB:表示USB口已经可用,通常在OpenWrt-Yun完全启动后点亮。

    1.4.3  3个复位按钮

    三个复位按钮的位置如图1.6所示本文选自Arduino Yun快速入门教程大学霸



    1.6  3个复位按钮的位置

    这三个复位按钮的作用分别如下:

    q  32U4 RST(标号1):用来复位ATmega32U4微处理器,它里面的程序(在Arduino中被称为Sketch)会重新运行;

    q  YUN RST(标号2):用来复位AR9331微处理器,导致的结果是Linux系统重启,在RAM中的数据都会丢失;

    q  WLAN RST(标号3):这个复位按钮有两个功能:将WIFI恢复出厂设置和将Linux image恢复出厂设置。要将WIFI恢复出厂设计需要将按钮按下5秒,此时WLAN LED会持续闪烁到释放按钮后的5秒,之后则表示恢复完成。重置Linux image则需要按下按钮30秒,在重置后,所有安装的软件及存储的数据都会丢失。这两种重置都会导致Linux系统重启本文选自Arduino Yun快速入门教程大学霸


    展开全文
  • 电子政务-橡塑弹性体复位的电梯按钮.zip
  • 基于西门子200系列PLC,多种实现方式。
  • 用脚本实现iFIX按钮按下置位,松开复位
  • 51单片机的复位方式及原理

    千次阅读 2021-05-21 00:46:49
    相关推荐发表于 2018-12-25 14:34•17次阅读 新建 Visual C# --》 WPF...发表于 2018-12-24 14:32•55次阅读 单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周....
  • FPGA复位的正确使用

    千次阅读 2019-12-13 17:36:39
    在没看这篇文章前,回想一下平时我们常用的复位方式: ① 首先,上电后肯定是要复位一下,不然仿真时会出现没有初值的情况; ② 最好有个复位的按键,在调试时按一下复位键就可以全局复位了; ③ 也许是同步复位...
  • 复位按钮的消抖以及初始化代码

    千次阅读 2016-10-02 20:40:45
    5,此代码实现了上电复位和key复位。 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////...
  • 在OpenWrt开发过程中,会用到不同风格的页面,比如有的是配置页面,有的是状态页面 而状态页面是不需要保存按钮的 如何屏蔽保存按钮,增加返回按钮呢? OpenWrt Luci框架已经做了很好的...复位 hideresetbtn 以下为
  • 复位电路

    千次阅读 2019-09-26 23:58:29
    复位电路 复位电路由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器...
  • 前言 在以Arduino作为主控板的情况下,往往需要实现急停...外部搭载按钮实现硬控 我们知道Arduino开发板上有reset的PIN脚,当reset的PIN脚与GND导通时,就能实现开发板程序的复位功能,其机制相当于使开发板断电后重
  • 复位电路原理

    2021-07-21 00:28:27
    为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,...
  • stm32 复位

    千次阅读 2019-03-07 11:14:40
    复位 STM32F10xxx支持三种复位形式,分别为系统复位、上电复位和备份区域复位。 系统复位 系统复位复位除时钟控制寄存器CSR中的复位标志和备份区域中的...例如:按下板子上的RESET按钮就产生一个外部复位...
  • 按钮开关的结构

    2021-01-20 07:10:49
    相信大家小时候都用过圆珠笔,也肯定试过按一下就出来按一下就进去。不知道大家有没有想过这是为什么,或者自己动手将圆珠笔...当松开后,按钮开关在复位弹簧的作用复位断开。在控制电路中,常开按钮常用来启动电动
  • labview 复位控件值

    2010-04-11 14:27:47
    可以将指定INI 配置文件上的参数配置信息替换指定的VI上,与保存到 ini 文件相对应。
  • 在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。 无论用户使用哪种类型的单片机,总要...
  • 软件复位 ESP8266

    千次阅读 2020-07-06 15:44:49
    This tutorial shows hot tosoftware reset ESP8266in Arduino IDE. This sketch/example shows software reset using simple commandESP.restart() or ESP.reset(). Software reset for ESP8266 is required when ...
  • FPGA开发中全局复位置位(GSR)简介

    千次阅读 2021-02-09 01:43:39
      在数字系统设计中,我们传统上都认为,应该对所有的触发器设置一个主复位,这样将大大方便后续的测试工作。所以,在所有的程序中,我往往都在端口定义中使用同一个reset信号(其实好多时候根本就没有用到)。...
  • 语音内容:大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。复位键也叫重启键。台式电脑的复位键在机箱上一般在启动键附近,笔记本电脑的复位键在键盘顶。在电脑键盘上同时按下...它的作用...
  • 普通按钮+提交按钮+重置按钮

    千次阅读 2017-08-08 03:38:20
    按钮type=“button” 普通按钮; type=“submit” 提交按钮; type=“reset” 重置按钮; name 给按钮命名; value 设置显示在按钮上的文字;(1)普通按钮 需要与事件关联使用,用来响应onclick事件。 (2...
  • 有两种不同的按钮–提交按钮和复位按钮。 提交按钮是用来当你想提交表单和标记看起来像这样: 复位按钮是用来由用户和标记看起来像这样明确的Al输入: 这是一个提交按钮和复位按钮的简单形式 ...
  • 单片机中的上电复位 和手动复位

    千次阅读 2021-03-20 09:09:44
    上电复位是通过外部复位电路中的电容充放电来实现的,也就是通过电容给RST端输入一个短暂的高电平,此高电平随着Vcc对电容充电时间的增加而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为保证单片机能...
  • 阻容复位和按键复位 详解

    万次阅读 2018-05-17 10:12:57
    首先要理解为什么需要复位:1:因为微处理器(如我们常说的电脑CPU芯片和高端ARM)和微控制器(单片机、低端ARM什么的)芯片都是数字电路芯片,其正常工作是只有0低电平和1高电平这两个电平状态,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,647
精华内容 7,058
关键字:

复位按钮的作用