历史上的今天
返回首页

历史上的今天

今天是:2025年07月18日(星期五)

正在发生

2020年07月18日 | ATmega168 看门狗定时器

2020-07-18 来源:eefocus

看门狗定时器由独立的128 kHz片内振荡器驱动。通过设置看门狗定时器的预分频器可以调节看门狗复位的时间间隔,如 P44Table26 所示。看门狗复位指令 WDR 用来复位看门狗定时器。此外,禁止看门狗定时器或发生复位时它也被复位。复位时间有 10 个选项。如果没有及时复位定时器,一旦时间超过复位周期, ATmega168 就复位,并执行复位向量指向的程序。具体的看门狗复位时序在 P44Table26 有说明。


看门狗定时器还可用来产生中断。这在使用看门狗将系统从掉电状态唤醒是非常有用的。

为了防止无意之间禁止看门狗定时器或改变了复位时间,熔丝位 WDTON 为此提供了 2个不同的保护级别,如 Table 24.所示。请参见P47”改变看门狗定时器配置的时间序列” 。

ATmega168 WDTON熔丝位设定的WDT配置表

ATmega168 看门狗定时器

看门狗定时器控制寄存器-WDTCSR

ATmega168 看门狗定时器控制寄存器-WDTCSR

· Bits 7 – WDIF: 看门狗超时中断标志
当看门狗定时器超时且定时器作为中断使用时,该位置位。执行相应的中断处理程序时 WDIF 由硬件清零。也可通过对标志位写 "1” 对 WDIF 清零。当 SREG 寄存器中的 I 位与 WDIE 也置位时, MCU 执行看门狗超时中断。


· Bit 6 – WDIE: 看门狗超时中断使能
WDIE置"1”时WDE被清零,状态寄存器中的I位置位,看门狗超时中断使能。当看门狗定时器出现超时时执行相应的中断程序。

如果 WDE置位,当超时出现时, WDIE 由硬件自动清零。 这对使用中断时保证看门狗复 位的安全性非常有效。在 WDIE 位被清零后,下一个超时将引发系统复位。为避免看门狗 复位,在每次中断后必须对 WDIE置位。

ATmega168 看门狗定时器的配置

· Bit 4 – WDCE: 看门狗修改使能
清零 WDE时必须置位 WDCE,否则不能禁止看门狗。一旦置位,硬件将在紧接的 4 个时 钟周期之后将其清零。请参考有关 WDE 的说明来禁止看门狗。修改预分频器也必须置位 WDCE,如 P47“改变看门狗定时器配置的时间序列”所示。


· Bit 3 – WDE: 使能看门狗
WDE为“1” 时,看门狗使能,否则看门狗将被禁止。只有在WDCE为“1”时WDE 才能清零。以下为关闭看门狗的步骤:
1. 在同一个指令内对WDCE 和WDE 写"1",即使WDE 已经为"1"。
2. 在紧接的4 个时钟周期之内对WDE 写"0"。这会禁用看门狗。


工作于安全级别 2 时,即使使用了上述的算法,也无法禁止看门狗定时器。参见 P47“改变看门狗定时器配置的时间序列”所示。

工作于安全级别 1 时, WDE 被 MCUSR 的 WDRF 功能所替换 ,请参见 P41”MCU 状态寄存器 – MCUSR” 中关于 WDRF 的说明。这意味着当 WDRF 置位时 WDE 同时置位。为清零 WDE,在使用上述过程禁用看门狗之前必须清零 WDRF。这一特性保证在出现故障时有多重复位,且在故障解决后可以安全地启动。

Note: 如果在应用中不需要使用看门狗定时器,则在器件初始化时应运行看门狗禁用程序。如果 看门狗被意外使能,如程序跑飞或出现 BOD,器件将会复位,且在结束复位时 WDRF 标 志位置位。这将自动激活看门狗,引发新的看门狗复位。为避免出现这种状况,在初始化 过程中应用程序应将 WDRF 标志位与 WDE控制位清零 。

· Bits 5,2..0 – WDP3..0:看门狗定时器预分频器 3, 2, 1, 与 0
当看门狗定时器使能时, WDP3..0 决定看门狗定时器的预分频器,如 Table26 所示。

下面的例子分别用汇编和 C 实现了关闭 WDT 的操作。在此假定中断处于用户控制之下 ( 比如已经禁止了x全局中断 ) ,因而在执行下面程序时中断不会发生。 

汇编代码例程
WDT_off:
; MCUSR中的WDRF 清零
ldi r16, ( 0<< WDRF ) 
out MCUSR, r16 ; 置位WDCE 与 WDE 
ldi r16, (1<< WDCE )|( 1<< WDE ) ; 关闭WDT 
ldi r16, (0<< WDE ) 
out WDTCSR, r16
ret

C 代码例程
void WDT_off(void)
{
/*MCUSR 中的 WDRF清零*/
MCUSR = 0x00
/* 置位WDCE 与 WDE */
WDTCSR = (1<< WDCE) | (1<< WDE);
/* 关闭WDT */
WDTCSR = 0x00;
}


推荐阅读

史海拾趣

A1 PROS公司的发展小趣事

在竞争激烈的电子行业中,A1 PROS始终保持对技术创新的追求。公司不断投入研发资金,引进先进的生产设备和技术人才,致力于开发更高性能、更环保、更节能的产品。同时,A1 PROS还积极关注行业动态和市场需求变化,不断调整和优化产品结构和市场策略。正是凭借这种持续创新的精神和对市场变化的敏锐洞察,A1 PROS得以在电子行业中保持领先地位,并引领着行业的发展方向。

以上便是关于A1 PROS公司在电子行业里发展起来的五个故事。这些故事展示了A1 PROS从初创期的黑白CCD业务起步,到成功研发彩色CCD传感器、获得技术认可、拓展国际市场以及持续创新引领行业发展的全过程。虽然这些故事是基于虚构的,但它们反映了电子行业发展的一般规律和趋势,也展现了A1 PROS作为一家优秀电子企业在行业中的成长轨迹和贡献。

Dongguan Jingyue Electronics Co Ltd公司的发展小趣事

在电子行业的激烈竞争中,Dongguan Jingyue Electronics Co Ltd始终将技术创新作为公司发展的核心驱动力。公司自成立之初就投入大量资源用于研发新技术和新产品。通过不断的努力,公司成功推出了一系列具有市场竞争力的电子产品,赢得了消费者的广泛认可。这些技术创新不仅提升了公司的品牌形象,也为公司带来了丰厚的利润。

Display Engineering Services公司的发展小趣事

Dongguan Jingyue Electronics Co Ltd非常重视人才战略和团队建设。公司深知人才是企业发展的根本,因此不断加大对人才的投入力度。通过引进优秀人才、加强员工培训、建立激励机制等方式,公司打造了一支高素质、专业化的团队。这支团队不仅为公司的发展提供了有力支持,也为公司的创新和发展注入了新的活力。

EMBEST公司的发展小趣事

在XXXX年12月,EMBEST成为了Microsoft银牌合作伙伴。这一荣誉的获得标志着EMBEST在软件开发和服务方面得到了业界的广泛认可。作为Microsoft银牌合作伙伴,EMBEST将能够更好地利用Microsoft的技术和资源,为客户提供更优质的服务和解决方案。

FUJIKURA公司的发展小趣事

随着国内市场的逐步稳固,EMBEST开始寻求更广阔的发展空间。XXXX年,EMBEST的开发工具成功进入国际市场,并获得了多家芯片公司的认可,成为他们的第三方工具伙伴。这一举措不仅提升了EMBEST的品牌影响力,也为其带来了更多的商业机会。EMBEST凭借过硬的技术实力和优质的服务,逐渐在国际市场上崭露头角。

EXCELSEMI [ EXCEL SEMICONDUCTOR INC. ]公司的发展小趣事

EXCELSEMI公司始终将品质和客户满意度放在首位。公司建立了一套完善的质量管理体系和客户服务体系,确保每一款产品都符合高标准的质量要求。同时,公司还注重与客户的沟通和反馈,不断优化产品和服务以满足客户的需求。这种品质至上、客户为本的经营理念使得EXCELSEMI在市场中赢得了良好的口碑和信任。

问答坊 | AI 解惑

windows CE SDK问题

哪位高手能告诉我SDK已定制成功,系统能编译,但是在部署到模拟器上时无法显示我编辑的程序界面,弹出设备无法连接,希望帮我解答,谢谢...…

查看全部问答>

ADS和PB

问大家个问题 裸板用ADS  做系统用PB 那么做驱动用什么啊??谁能帮我区分下ADS和PB 我还是分不太清楚啊 ! …

查看全部问答>

网卡芯片什么情况下会出现闪断电情况

我用一个网关在测试它的NAT功能 一台PC接WAN口,一台接LAN口 当速率达到一定的程度 就很容易出现WAN口或LAN口瞬间断电,也就是相应的PC机右下角会提示\"网络电缆没有插好\" 请问下这是什么原因所引起的呢…

查看全部问答>

mc1648的无敌问题

各位大哥们,我最近在用mc1648做100M左右的压控振荡器,不过我输出来的波形很不好看,波形是正弦波,但是幅度越来越小,等幅度几乎没有的时候它的幅度又慢慢增加,如此循环。。。。。我是按照pdf上两个变容二极管对接的方法,为什么会这样,我绝望 ...…

查看全部问答>

LaunchPad+TEA5767=数字收音机(成果展示)

经过调试和多次试验,简易数字收音机终于完成。程序有两个版本,可自动搜台后进入LPM3,而后等待P1中断唤醒并进行自动搜台,结束后再次进入LPM3;另一种是通过按键实现自动搜台,无低功耗模式。在低功耗模式下,我串入电流表,测量电流500UA左右, ...…

查看全部问答>

C2000晒晒 + 无感无刷驱动

设计中用到无感无刷的电机,为了熟悉电机的特性和驱动, 所以画了这个板子。程序还没有设计完成,结果就没时间 了,板子就一直在吃灰了。   现在重新让他见见光。       画的有点飞,不要板砖哦。  …

查看全部问答>

用交流电流采样问题

请教各位大侠一个问题,我现在需要用交流电流采样,一般AD输入是0-5V,我要的是-10-10V的输入,这个怎么弄?…

查看全部问答>

双字节除法中余数的问题

我用汇编写的双字节除以双字节程序  如何对余数进行处理呢???  如果只用商来作为最终的结果是不是不精确??请问如何处理呢???…

查看全部问答>

谁有51串口通信计算器啊?求发一个

谁有51串口通信计算器啊?求发一个 谢谢了   1151916057@qq.com…

查看全部问答>