51单片机—软件看门狗
51单片机—软件看门狗
51单片机—软件看门狗,k线训练软件,家人定位软件,365抽奖软件的书,突然发现自己学了这么长的时间还没有用过看门狗这个东东~~表示很惭愧,(*^__^*) 嘻嘻
当程序跑飞到一个临时构成的死循环中时,这是如果没有人为的操作(也就是按下复位键),那么软件系统将完全瘫痪。那么我们就要让MCU自己实现监视系统运行的情况,这就是程序运行监视系统(WatchDog)。
简单来说吧,好比一个主人养了一条狗,主人在正常工作时总是不忘记每隔一段时间就喂一次狗,狗吃过东西就安静下来,这样也就不会影响主人生活。但是如果主人打瞌睡忘记喂狗,那么时间到了,狗就饿了,发现主人还没有喂它,就会大叫起来,把主人吵醒。呵呵,这就是喽。。。。。。国外把这种程序运行监控系统成为WatchDog(看门狗)。其中看门狗的特性有:
1》本身能独立工作,基本上不依赖于CPU(这里还要解释一下,它占用CPU主要是那么几微秒,既喂狗)
2》CPU在一个固定的时间间隔和系统打一次交道(也就是喂狗,1中已经提到),以表明系统目前正常
当系统陷入死循环后,什么样的程序才能使它跳出来呢?只有比这个死程序更高级的中断程序才能夺走死程序对CPU的控制权。为此,咱们可以用一个定时器来做看门狗,将它的溢出中断设定为高优先级中断,然后将系统的其它中断设定为低优先级的中断(这里一定要保证你设定的看门狗的那个中断一定要比你程序中的其它的中断要高!!!!)(这里的设置方法很多,但是刚才说的原则一定要满足!)。那就比如说吧,用T0作看门狗,定时约为16ms,如果你的系统中没有用到INT0,那么你就不需要设置PTO了(这里我就不多解释了~~大家懂得的)。
当看门狗启动后,系统工作程序必须经常“喂它”,而且每两次的间隔不得大于16ms(这里还是上边的例子)
当程序陷入死循环后,16ms之内即可引起一次T0中断,产生高优先级中断,从而结束死循环。同时,建议在T0中断里直接转向出错处理程序,也就是在中断向量区放置一条“LJMP ERROR”就哦了(这里用汇编语言好解释~~)
下面是用汇编写的看门狗程序,它包含模拟的主程序,“喂狗”(DOG)程序和空弹返回0000H(TOP)程序。
MAIN: MOVSP,#06H;模块硬件复位,这些可根据系统对资源的使用情况增减
TOP:POPACC;空弹断点地址,也就是先将你压入的地址取出来,然后赋予新的值
这是软件抗干扰的方法之一,还有一种方法就是软件陷阱技术,这个也挺简单的,我也就不多赘述了~~
提示:软件陷阱就是一条引导指令强行将捕获的程序引向一个指定的地址,再那里有一段专门对程序出错进行处理的程序,用来使程序按既定的目标执行。真正的软件陷阱由三条指令组成:
相关文章
- 小米平板5 Pro124英寸版续航怎么样 可以装windows系统吗?
- 我的强袭高达会使等离子光速拳!
- 喜报!300万用户的柠檬云财务软件获得『用户推荐SaaS品牌』大奖!
- 5款热门买火车票软件横评
- 本科毕业就业对口率超高的专业推荐文理科都有!
- LockBit 勒索软件生成器被“愤怒的开发者”公开
- 【资源信息】软件工程学院2023届毕业生资源信息
- 日文翻译软件推荐!扫一扫翻译立刻就出现!
- 腾讯上线名社交APP“灯遇交友”是什么情况 APP“灯遇交友”有什么功能
- 2022年落地与自贸港建设息息相关的新规 你知道哪些?
- 建筑制图软件 Auto CAD专业建筑绘图从新手到高手
- 武汉亲子鉴定中心名录大全(2022新版)
- 限时下载手慢无安卓+苹果都有
- 各种租人APP涌现挣钱越来越需要不按套路
- 2D+3D一体化设计 浩辰CAD软件助力中国企业数字化转型
- 微信退群可保留聊天记录苹果禁止在灵动岛打广告贾跃亭再获 1 亿美元融资
- 怎么在电脑上添加一款桌面提醒便签小软件提高办公效率
- 36氪首发|「中科海芯」获近亿元Pre-A融资开发工规级和车规级RISC-V 计算芯片加速AIoT产业落地
- CCTV5直播中国女篮世界杯小组赛末轮对阵强敌+中国女排再战世锦赛APP转台球
- “流氓软件”线杀毒遭吐槽卸载后电脑更快!