rpv9 yass k8aq 1xhr eu2u n1lp 46k8 miey fxfb dxt1

电子发烧友网 > 控制/MCU > 正文

MSP430单片机看门狗的基本用法解析

2019-02-21 15:04 ? 次阅读
标签:天涯海角 nxjx 巴黎人在线娱乐

看门狗是为了防止程序跑飞而设定的,但是由于看门狗是一个类似于定时器,因此可以把他当作定时器来使用

示例代码:用看门狗定时器使一个led闪烁

#include

void main( void )

{

// Stop watchdog TIme out reset

WDTCTL = WDT_MDLY_32;//宏定义

IE1 |=WDTIE; //允许看门狗定时器中断

P2DIR |= BIT7;

_BIS_SR(LPM0_bits+GIE);//在这里的话将cpu进入低功耗模式

}

#pragma vector = WDT_VECTOR

__inTImer(void)

{

P2OUT ^=BIT7;//异或操作基本上是取反操作

}

MSP430单片机看门狗的基本用法解析

注意这里有一个比较好的宏定义:WDTCTL = WDT_MDLY_32;进入该宏定义会发现类似的宏定义有很多

/* WDT-interval TImes [1ms] coded with Bits 0-2 */

/* WDT is clocked by fSMCLK (assumed 1MHz) */

#define WDT_MDLY_32 (WDTPW+WDTTMSEL+WDTCNTCL) /* 32ms interval (default) */

#define WDT_MDLY_8 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0) /* 8ms “ */

#define WDT_MDLY_0_5 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1) /* 0.5ms ” */

#define WDT_MDLY_0_064 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1+WDTIS0) /* 0.064ms “ */

/* WDT is clocked by fACLK (assumed 32KHz) */

#define WDT_ADLY_1000 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL) /* 1000ms ” */

#define WDT_ADLY_250 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0) /* 250ms “ */

#define WDT_ADLY_16 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1) /* 16ms ” */

#define WDT_ADLY_1_9 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0) /* 1.9ms “ */

/* Watchdog mode -》 reset after expired time */

/* WDT is clocked by fSMCLK (assumed 1MHz) */

#define WDT_MRST_32 (WDTPW+WDTCNTCL) /* 32ms interval (default) */

#define WDT_MRST_8 (WDTPW+WDTCNTCL+WDTIS0) /* 8ms ” */

#define WDT_MRST_0_5 (WDTPW+WDTCNTCL+WDTIS1) /* 0.5ms “ */

#define WDT_MRST_0_064 (WDTPW+WDTCNTCL+WDTIS1+WDTIS0) /* 0.064ms ” */

/* WDT is clocked by fACLK (assumed 32KHz) */

#define WDT_ARST_1000 (WDTPW+WDTCNTCL+WDTSSEL) /* 1000ms “ */

#define WDT_ARST_250 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS0) /* 250ms ” */

#define WDT_ARST_16 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1) /* 16ms “ */

#define WDT_ARST_1_9 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0) /* 1.9ms ” */

这里我们可以根据通常的需要,选择合适的定时时间

说到定时时间,这里又不得不讲一下中断函数,在IAR这个编译环境中,一般中断函数的写法是

#pragma vector = 中断向量

__interrupt void 中断函数名(void)

{

用户程序;

}

注意,中断向量可以在430的头文件中查找,中断函数的声明必须是void 中断函数名(void),这是因为中断函数没有返回值,也没有中断的形式参数

但是本人又在网站上看到另外一种用switch来写的,就是一个中断源对应几个中断向量,这种写法目前我还没有见过源码,所以不好总结

技术专区

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

msp430单片机延时函数的使用方法

第一步,复制代码: #define CPU_F ((double)8000000) #d...

发表于 2019-02-21 16:10 ? 49次阅读
msp430单片机延时函数的使用方法

MSP430单片机的LED驱动电路原理解析

MSP430系列单片机以低功耗和外设模块的丰富性而著称,而针对电容触摸应用,MSP430的PIN R...

发表于 2019-02-21 15:45 ? 83次阅读
MSP430单片机的LED驱动电路原理解析

如何通过级联定时器增加看门狗中断间隔?

发表于 2019-02-21 14:30 ? 99次阅读
如何通过级联定时器增加看门狗中断间隔?

如何控制看门狗定时器输入时钟频率?

发表于 2019-02-21 14:28 ? 60次阅读
如何控制看门狗定时器输入时钟频率?

传感器在笔记本防盗器中的应用

发表于 2019-02-21 15:15 ? 24次阅读
传感器在笔记本防盗器中的应用

MSP430单片机的DCO初始化

1.平台说明MSP430F5438。 2.ACLK选择XT1,频率为32.768K,MCLK和...

发表于 2019-02-21 14:25 ? 43次阅读
MSP430单片机的DCO初始化

MSP430单片机中断函数的编写方法

#pragmavector=USCI_A0_VECTOR __interruptvoidUSC...

发表于 2019-02-21 14:07 ? 75次阅读
MSP430单片机中断函数的编写方法

SPC57 SWT静止不动

发表于 2019-02-21 14:38 ? 20次阅读
SPC57 SWT静止不动

MSP430单片机的比较器工作原理解析

这是比较器A的逻辑图,比价器A由4个部分组成 标号1:内部参考电压发生器,可以产生0.25V,...

发表于 2019-02-21 15:49 ? 68次阅读
MSP430单片机的比较器工作原理解析

PIC系列单片机到底有什么优势

根据程序存储方式的不同,单片机可分为EPROM、OTP(一次可编程)、QTP(掩膜)三种。我国一开始...

发表于 2019-02-21 16:14 ? 77次阅读
PIC系列单片机到底有什么优势

如何采用MSP430单片机的ADC12功能实现代...

这里通过一个例子说明片内ADC的使用,首先实现UART和定时器1S溢出的功能,在上述功能的基础上每1...

发表于 2019-02-21 16:09 ? 81次阅读
如何采用MSP430单片机的ADC12功能实现代...

STM32单片机ADC的模拟看门狗的测试

ADC的模拟看门狗用于检查电压是否越界。他又上下两个边界,可分别在寄存器ADC_HTR和ADC_LT...

发表于 2019-02-21 16:49 ? 103次阅读
STM32单片机ADC的模拟看门狗的测试

STM32F0独立和窗口看门狗的功能解析

独立看门狗由内部低速时钟LSI提供计数时钟,8位分频,12位计数,需要定期喂狗(重载数值Reload...

发表于 2019-02-21 16:20 ? 79次阅读
STM32F0独立和窗口看门狗的功能解析

如何利用利用TimerA及中断实现RTC

D13x Demo - 利用Timer_A及中断实现RTC,观察LED灯的闪烁频率 // 描述...

发表于 2019-02-21 14:59 ? 63次阅读
如何利用利用TimerA及中断实现RTC

MSP430单片机时钟程序的设计

MSP430根据型号的不同最多可以选择使用3个振荡器。我们可以根据需要选择合适的振荡频率,并可以在不...

发表于 2019-02-21 14:40 ? 62次阅读
MSP430单片机时钟程序的设计

六款常用单片机的比较

EM78系列单片机采用高速CMOS工艺制造,低功耗设计为低功耗产品,价格较低。具有三个中断源、R-O...

发表于 2019-02-21 15:25 ? 241次阅读
六款常用单片机的比较

EN50271标准的看门狗功率有什么要求STM8L152

发表于 2019-02-21 10:18 ? 78次阅读
EN50271标准的看门狗功率有什么要求STM8L152

请问SPC560D如何配置DRUN模式?

发表于 2019-02-21 10:12 ? 86次阅读
请问SPC560D如何配置DRUN模式?

请问如何决定看门狗的定时时间和两种看门狗的场合?

发表于 2019-02-21 08:52 ? 196次阅读
请问如何决定看门狗的定时时间和两种看门狗的场合?

MSP430单片机中断的定义及原理

430的中断是按照下图1的优先级顺序定义的,有三种中断:1.系统重置、2.不可屏蔽中断(NMI)、3...

发表于 2019-02-21 16:24 ? 112次阅读
MSP430单片机中断的定义及原理

TMS320F2803X系列和TMS320F2802X怎么打开看门狗

发表于 2019-02-21 15:00 ? 115次阅读
TMS320F2803X系列和TMS320F2802X怎么打开看门狗

请问在哪里清除看门狗计时器

发表于 2019-02-21 11:30 ? 45次阅读
请问在哪里清除看门狗计时器

单片机复位问题

发表于 2019-02-21 22:18 ? 68次阅读
单片机复位问题

基于msp430单片机定时器的使用方法解析

通过计算设置周期。 #include void main( void ) { ...

发表于 2019-02-21 15:56 ? 93次阅读
基于msp430单片机定时器的使用方法解析

基于MSP430G2553的IO外部中断配置说明

在Launchpad上有按键S2,接在P1.3口,当按下后P1.3将接入高电平,从而触发中断。 在...

发表于 2019-02-21 16:46 ? 76次阅读
基于MSP430G2553的IO外部中断配置说明

基于MSP430系统时钟低功耗模式的设置

如何将系统时钟设置到外部高频晶体振荡器,430的MCLK默认的是DCO的,如何安全的从DCO切换到外...

发表于 2019-02-21 15:55 ? 106次阅读
基于MSP430系统时钟低功耗模式的设置

基于MSP430F5系列的硬件I2C的使用分享

【I2C地址设定】一般情况下I2C的7位地址被写成了8位长度,最低位无效。例如AT24C02的I2C...

发表于 2019-02-21 16:38 ? 146次阅读
基于MSP430F5系列的硬件I2C的使用分享

基于MSP430F2274单片机对智能小车的应用...

该系统主要由MSP430控制器,超声波避障模块,电机驱动,测速,语音模块,温度模块,小车的机械运动部...

发表于 2019-02-21 15:43 ? 120次阅读
基于MSP430F2274单片机对智能小车的应用...

浅谈单片机上电复位后端口的状态问题

在MSP430单片机的手册中,对于端口复位后的状态,是这样描述的:复位后,所有端口处于输入状态。就这...

发表于 2019-02-21 09:52 ? 614次阅读
浅谈单片机上电复位后端口的状态问题

你的单片机程序为什么会跑飞了?单片机程序死机跑飞...

单片机程序死机,跑飞了可以从以下几个方面查找原因: 1. 意外中断。是否打开了某个中断,但是没有响...

发表于 2019-02-21 14:41 ? 909次阅读
你的单片机程序为什么会跑飞了?单片机程序死机跑飞...

新品速递丨精度为 ±0.5% 的电压监控器

ADI 推出面向非常低电压组件的 ±0.5% 精度监控器,快来围观啊!

发表于 2019-02-21 15:17 ? 550次阅读
新品速递丨精度为 ±0.5% 的电压监控器

单片机学习入门之单片机的开发经验详细资料概述

老生常谈的话题又来了,感觉自己看过好多五花八门的关于单片机的开发经验了,但是不一定那些就是适合你的,...

发表于 2019-02-21 11:39 ? 992次阅读
单片机学习入门之单片机的开发经验详细资料概述

什么是看门狗定时器?为何看门狗定时器如此重要?

---使用具有整合看门狗功能的处理器。许多微控制器如MSP430F5529系列具有整合看门狗的功能。...

发表于 2019-02-21 08:13 ? 1512次阅读
什么是看门狗定时器?为何看门狗定时器如此重要?

以ATmega128单片机为主控芯片的的32路遥...

掉电自动保存部分使用MAX691CWE(IC8)作为电源管理,在系统有辅助供电的情况下保证IC3由主...

发表于 2019-02-21 16:44 ? 217次阅读
以ATmega128单片机为主控芯片的的32路遥...

Kinetis“喂狗”的问题

我们喂狗的函数也不能被打断,在往看门狗寄存器连续写入0xA602和0xB480两个数据是需要在20个...

发表于 2019-02-21 10:05 ? 1156次阅读
Kinetis“喂狗”的问题

最简单的bootloader的编写步骤

在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空...

发表于 2019-02-21 08:46 ? 2086次阅读
最简单的bootloader的编写步骤

以MSP430低功耗单片机为CPU的太阳能警报器...

太阳能防空防灾电声警报器为各自独立的功能部件用积木形式集成安装在可移动的防水机箱内外,形成独立完整的...

发表于 2019-02-21 15:57 ? 150次阅读
以MSP430低功耗单片机为CPU的太阳能警报器...

以MSP430单片机为核心的智能无功补偿控制器设...

为了记录每相电压、电流、有功功率、无功功率、功率因数,以及电容器的投、切时间,投、切次数等,系统扩展...

发表于 2019-02-21 15:48 ? 497次阅读
以MSP430单片机为核心的智能无功补偿控制器设...

具看门狗定时器的宽VIN范围、降压-升压型充电泵...

LTC?3246 是一款具集成化看门狗定时器的开关电容器降压-升压型 DC/DC 转换器。该器件可采...

发表于 2019-02-21 16:39 ? 166次阅读
具看门狗定时器的宽VIN范围、降压-升压型充电泵...

AVR? Insights(7)— 关于看门狗定...

AVR? Insights — 第7集 — 看门狗定时器

发表于 2019-02-21 00:57 ? 956次阅读
AVR? Insights(7)— 关于看门狗定...

STM32F103系列单片机最实用看门狗的详细资...

事情很简单先前做的一款采集数据的产品不知道为何异常,陷入死循环然后“死机”,分析了很多次,没发现原因...

发表于 2019-02-21 10:16 ? 1725次阅读
STM32F103系列单片机最实用看门狗的详细资...

看门狗多任务系统及喂狗方法详解

看门狗分硬件看门狗和 软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序...

发表于 2019-02-21 09:21 ? 2214次阅读
看门狗多任务系统及喂狗方法详解

七种复位电路的介绍和复位电路几种设计详细概述

复位源是导致单片机内部复位操作的源泉,大致可分为七种:上电复位(POR)﹑人工复位(MRST)﹑电源...

发表于 2019-02-21 18:45 ? 2310次阅读
七种复位电路的介绍和复位电路几种设计详细概述

串口看门狗编程实验详解

本文主要详细介绍串口看门狗的实验,具体的跟随小编一起来了解一下。

发表于 2019-02-21 10:25 ? 828次阅读
串口看门狗编程实验详解

一文了解STM32窗口看门狗的真正作用

STM32有2个看门狗:独立看门狗和窗口看门狗。 独立看门狗IWDG--独立于系统之外,因为有独立...

发表于 2019-02-21 10:17 ? 4178次阅读
一文了解STM32窗口看门狗的真正作用

一文读懂STM32f030c8t6单片机ADC模...

根据st官方手册提供描述不难看出,ADC模拟看门狗其实就是用户可以设置一个AD值上下限值,然后打开此...

发表于 2019-02-21 15:04 ? 893次阅读
一文读懂STM32f030c8t6单片机ADC模...

PIC单片机之看门狗_看门狗定时器工作原理

PIC系列不同型号的单片机其,看门狗设置不同,下面是以PIC16F688单片机为例。如果配置字中的...

发表于 2019-02-21 01:59 ? 709次阅读
PIC单片机之看门狗_看门狗定时器工作原理

stm32休眠_RTC定时唤醒来喂狗

在STM32开发中经常会用到独立看门狗(IWDG)和低功耗模式,看门狗是为了检测和解决由软件错误引起...

发表于 2019-02-21 01:56 ? 1230次阅读
stm32休眠_RTC定时唤醒来喂狗

STM32独立看门狗和低功耗模式_RTC定时唤醒...

在STM32开发中经常会用到独立看门狗(IWDG)和低功耗模式,看门狗是为了检测和解决由软件错误引起...

发表于 2019-02-21 01:55 ? 826次阅读
STM32独立看门狗和低功耗模式_RTC定时唤醒...

STM32独立看门狗介绍_STM32单片机独立看...

STM32的独立看门狗由内部专门的40Khz低速时钟驱动,即使主时钟发生故障,它也仍然有效。这里需要...

发表于 2019-02-21 01:49 ? 411次阅读
STM32独立看门狗介绍_STM32单片机独立看...

STM32单片机的模拟看门狗的库函数设置

ADC的模拟看门狗用于检查电压是否越界。他又上下两个边界,可分别在寄存器ADC_HTR和ADC_LT...

发表于 2019-02-21 01:29 ? 346次阅读
STM32单片机的模拟看门狗的库函数设置

一文读懂STM32之独立看门狗/窗口看门狗的原理

STM32的独立看门狗由内部专门的40Khz低速时钟驱动,即主时钟发生故障,它也仍然有效,这里我们需...

发表于 2019-02-21 01:06 ? 318次阅读
一文读懂STM32之独立看门狗/窗口看门狗的原理

STM32F107的独立看门/窗口看门狗实验总结

看门狗的作用:由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正...

发表于 2019-02-21 00:02 ? 847次阅读
STM32F107的独立看门/窗口看门狗实验总结

窗口看门狗的作用是什么?窗口看门狗复位分析

程序初始化LED点亮延时300ms熄灭,窗口看门狗从0x7F开始递减计数,上窗口为0x5F,下窗口为...

发表于 2019-02-21 13:54 ? 1158次阅读
窗口看门狗的作用是什么?窗口看门狗复位分析

STM32看门狗WWDG和IWDG的区别是什么

STM32有2个看门狗:独立看门狗和窗口看门狗。 独立看门狗IWDG:独立于系统之外,因为有独立时...

发表于 2019-02-21 13:51 ? 415次阅读
STM32看门狗WWDG和IWDG的区别是什么

AVR单片机复位检测 如何识别复位条件

AVR复位时所有的I/O 寄存器都被设置为初始值,程序从复位向量处开始执行。复位向量处的 指令必须是...

发表于 2019-02-21 15:39 ? 1074次阅读
AVR单片机复位检测 如何识别复位条件

关于看门狗定时器动态数码管的显示问题

程序把看门狗当做普通定时器使用,在看门狗中断中进行数码管扫描,另外我加入了显示的缓冲区,想在数码管上...

发表于 2019-02-21 11:10 ? 354次阅读
关于看门狗定时器动态数码管的显示问题

用CD4060制作看门狗报警电路

本文主要介绍了用CD4060制作看门狗报警电路。看门狗定时器(WDT,WatchDogTimer)是...

发表于 2019-02-21 14:52 ? 1776次阅读
用CD4060制作看门狗报警电路

系统软件"看门狗"的设计思路

看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗(kickin...

发表于 2019-02-21 09:05 ? 1748次阅读
系统软件"看门狗"的设计思路

20年经验的电子总工程师回忆录之让项目陷入僵局的...

硬件团队首先排查了可能存在制程问题,通过目视检查和X-ray照射,未发现明显异常;全面监测复位、供电...

发表于 2019-02-21 15:50 ? 3060次阅读
20年经验的电子总工程师回忆录之让项目陷入僵局的...

廉价“看门狗”设计(施密特触发器)

电路,与人们熟识的“看门狗”电路不同,其间没有振荡电路。图中门c、C3起隔离作用,门c的输入端可以与...

发表于 2019-02-21 10:19 ? 587次阅读
廉价“看门狗”设计(施密特触发器)

关于看门狗的作用与相关实验

有些看门狗需要用软件设置或启动,因此启动失败后,初始化程序没有激活,CPU可能跳转到随机代码,使看门...

发表于 2019-02-21 10:03 ? 967次阅读
关于看门狗的作用与相关实验

基于VxWorks的看门狗定高效定时机制设计实现

VxWorks提供了一个看门狗定时器(watchDog timer),它由以下四个函数维护: ...

发表于 2019-02-21 09:22 ? 481次阅读
基于VxWorks的看门狗定高效定时机制设计实现

多任务看门狗监控原理和实现

把uC/OS-II操作系统移植到LPC2132的开发板中。LPC2132 是一个支持实时仿真和跟踪的...

发表于 2019-02-21 09:19 ? 848次阅读
多任务看门狗监控原理和实现

基于AVR看门狗的Reset程序范例解读

就象是监视程序执行的保安一样, 程序正常执行时会在他的益处时间之内给他一 个复位信号,当程序跑飞的时...

发表于 2019-02-21 08:42 ? 272次阅读
基于AVR看门狗的Reset程序范例解读

基于嵌入式系统中看门狗的原理与使用

在产品化的嵌入式系统中,为了使系统在异常情况下能自动复位,一般都需要引入看门狗。

发表于 2019-02-21 18:27 ? 1762次阅读
基于嵌入式系统中看门狗的原理与使用

分享一些单片机的开发经验

做AT89C5X(51,52,55等等)的时间最长,知道的可能多些,主要谈些实际应用中的经验与教训。...

发表于 2019-02-21 11:04 ? 2083次阅读
分享一些单片机的开发经验

独立看门狗检测及如何解决软件错误导致故障

其用于检测和解决由软件错误导致的故障,当计数器达到设定的超时时间值时会产生系统复位。

发表于 2019-02-21 09:14 ? 3237次阅读
独立看门狗检测及如何解决软件错误导致故障

stm32看门狗复位技巧编辑

本文主要介绍了stm32看门狗复位技巧,包括三个方面:判断是否需要使用、保证看门狗工作正常、保证看门...

发表于 2019-02-21 15:51 ? 2289次阅读
stm32看门狗复位技巧编辑

stm32f103 独立看门狗

本文主要介绍了stm32f103的独立看门狗,当单片机系统在外界的干扰下会出现程序跑飞的现象导致出现...

发表于 2019-02-21 15:30 ? 1992次阅读
stm32f103 独立看门狗