历史上的今天
返回首页

历史上的今天

今天是:2024年12月18日(星期三)

正在发生

2018年12月18日 | watchdog的正确用法

2018-12-18 来源:eefocus

关于watchdog应该有过单片机学习经历的人,都比较熟悉。但watchdog的正确用法,恐怕大家如果没有经历过实际产品的开发不会有深入的理解。


瑞萨RL78系列的单片机自身带有watchdog,当启用watchdogtimer定时器后,在watchdog timer溢出时间间隔的75%会产生watchdog中断。至于在watchdog中做什么,好多示例程序,都会在中断处理函数中喂狗,使watchdog timer重新开始计时。


实际的喂狗程序应该在watchdog的中断处理函数中吗?如果在,有什么样的效果?如果不应该在,喂狗程序应该放在哪儿,中断处理函数中又应该做什么?下面一一来解答。


假如喂狗程序只在watchdog的中断处理函数中,当然重新启动watchdog timer的目的达到了,由于watchdogtimer溢出产生的复位也避免了。但是,watchdog本身存在的价值已经失去了。Watchdog存在的意义是监测程序中的非法循环以及程序是否跑飞。假设程序已经陷入了非法循环中不能退出,或者程序已经跑飞。Watchdog timer的定时中断还会正常工作,所以喂狗程序还能够正常执行。只是中断函数执行完之后,程序的返回点还是非法循环,或者是跑飞的非法指令。这个大家可以在其他MCU中写程序,打断点调试一下。


既然,喂狗程序不能放在watchdogtimer的定时中断中,应该放在哪儿呢。首先,来一个知识的正向迁移,watchdog timer的定时中断执行的机制是所有中断都遵循的机制,这个中断的中断处理函数中喂狗不能达到目的,当然其他定时中断处理函数中也是一样的道理。正确的喂狗程序需要放入main函数的主循环中,喂狗的时间间隔需要考虑主循环所有可能分支耗时最大的那个。也即,watchdog timer的溢出时间大于所有分支的最大耗时,喂狗时间间隔小于所有分支的最大耗时。


返回到最后一个问题,watchdog timer定时中断的中断处理程序应该做些什么,和普通定时器的用法一样,提供一个较为精确的定时时间间隔。比如在ucosII向RL78/G14的移植中,可以将watchdog timer定时中断作为操作系统的时钟节拍。


推荐阅读

史海拾趣

Eurofarad公司的发展小趣事

Eurofarad,作为Exxelia Technologies旗下的知名品牌,自1965年成立以来,就专注于电子元件的设计和制造。在创立初期,Eurofarad凭借对电子技术的深入研究和对市场需求的敏锐洞察,迅速推出了多款高性能、高质量的电子元件产品。这些产品在市场上获得了广泛的认可,为Eurofarad的后续发展奠定了坚实的基础。

Alpha Wire公司的发展小趣事

Eurofarad始终将技术创新作为公司发展的核心动力。随着科技的不断进步,Eurofarad不断投入研发资源,推动电子元件技术的创新。公司成功研发出了一系列具有创新性的产品,如陶瓷电容器、塑料薄膜电容器、云母电容器等。这些产品不仅具有更高的性能和更长的使用寿命,而且更符合市场的需求,为Eurofarad赢得了更多的市场份额。

CalRamic Technologies Llc公司的发展小趣事

随着科技的进步,客户对电子元器件的性能要求也越来越高。CalRamic Technologies意识到,要想在激烈的市场竞争中脱颖而出,必须不断进行技术创新。因此,公司投入大量资源进行产品研发,特别是在陶瓷电容器领域取得了显著的技术突破。他们开发的新型陶瓷电容器不仅体积更小,性能也更加稳定,很快就受到了市场的热烈欢迎。

Dongguan City Niuhang Electronics Co.LTD公司的发展小趣事

Dongguan City Niuhang Electronics Co.LTD成立于2012年,当时的中国电子行业正处于快速发展期。创始人李小芹凭借对半导体技术的深刻理解和市场需求的敏锐洞察,决定专注于二极管、桥式整流器等产品的研发与封装。公司成立初期,面临着资金短缺、技术储备不足等挑战,但李小芹凭借坚定的信念和不懈的努力,带领团队攻克了一个又一个技术难关,逐步在市场上树立了良好的口碑。

EUDYNA公司的发展小趣事

在2004年,电子行业的两大巨头FUJITSU富士通与SUMITOMO住友电气工业宣布合并,成立了EUDYNA半导体有限公司。这一合并不仅是两家公司资源的整合,更是技术力量的融合。EUDYNA自诞生之日起,就承载着推动半导体行业创新的重任。通过不断研发,EUDYNA在光波、微波器件领域逐渐崭露头角,成为全球客户的信赖之选。

Headland Technology Product Group公司的发展小趣事

近年来,随着环保意识的日益增强,HBControls积极响应国家号召,致力于绿色环保产品的研发和生产。公司投入大量资金引进环保设备和技术,对生产流程进行改造升级,以减少对环境的影响。同时,HBControls还积极推广绿色供应链理念,与供应商共同构建绿色、低碳的供应链体系。这些举措不仅提升了公司的社会形象,也为企业的可持续发展奠定了坚实的基础。

问答坊 | AI 解惑

【推荐】基于LabVIEW的数据采集高级编程

[时间] 2010/01/26   |   13:30 -  16:30 [地点] 苏州丽都大酒店5楼4号会议厅(苏州市干将西路168号) [主办公司] 美国国家仪器有限公司 [简介] NI LabVIEW + 数据采集的完美体验!      &n ...…

查看全部问答>

初学者学嵌入式的学习计划

只会一些编程语言的初级知识,如何学嵌入式阿…

查看全部问答>

无聊,大家一起休闲下~~

http://www.hougong.info/?fromuid=92961…

查看全部问答>

Linux内核的 Fec.c 接收函数中 收不到 bpdu包,怎么回事

我发送bpdu包(组播包),为什么在Fec的接受函数里收不到呢。 而广播包,还有目标Mac为板子的Mac的包可以接受到。 怎么回事,不懂? 请教达人帮忙!!!!!…

查看全部问答>

如何在两个进程中使用同一个串口

我想在两个程序中使用同一个串口,由于不能使用CreateFile打开两次串口,所以需要使用同一个HANDLE,而直接使用这个HANDLE又不行,在PC上可以使用DuplicateHandle来进行一个拷贝,但是在CE上这个函数说只能拷贝Event、Mutex、Semaphore这三种类型的 ...…

查看全部问答>

S3C2440板子SDRAM不转,为什么?

     最近做了一块S3C2440的板子,程序从FLASH搬4K到2440内部的SRAM中初始化CPU,SDRAM后,(前4K代码运行正常,有指示灯显示),搬代码到SDRAM中,在SDRAM运行,就运行不了,程序跑飞,不知道为什么?     &n ...…

查看全部问答>

做一个打蟑螂(灶麻子)的电击盘

关于这个电路我想做个说明: 主要电路是变压器T极其分布电容,其工作原理图见http://photo.163.com/photos/qingjidanpianji/131797516/3575663836/,V1,V2组成反馈式振荡升压电路.其中T是稳压(随身听用)电源其规格是220V/3V/2W的变压器,兼作反馈元件, ...…

查看全部问答>

有兴趣的兄弟来加入硬件/嵌入开发 无线QQ群

有兴趣的兄弟来加入硬件/嵌入开发 无线QQ群 让我们来进同进步吧!!!!!一起交流开发经验!!! 群号36507037 …

查看全部问答>

关于并口和USB仿真器的问题

最近正在用FE425做一个程序,用并口调试时读不到SD16的转换结果,但是同样的设置(只是把下载器设置改了一下)USB仿真器却可以读出来。为什么呢???…

查看全部问答>