历史上的今天
返回首页

历史上的今天

今天是:2025年02月21日(星期五)

正在发生

2020年02月21日 | msp430 看门狗设置

2020-02-21 来源:eefocus

看门狗定时器(Watchdog Timer(WDT_A))实际上是一个特殊的定时器,即可以用来作为看门狗使用,也可以用作定时器。


所谓的看门狗功能,是指可以监控程序是否由于某些干扰或者错误而跑飞。其原理就是发生故障的时间满足规定的定时时间后,产生一个非屏蔽中断,使系统复位。这样当在调试程序或预计程序在某个地方可能瞬时发生错误时(如外部电路干扰),选用设置看门狗定时中断可以避免程序跑飞。


当然,它也可以用作一般的定时功能。

不过实际上,由于看门狗定时器(作看门狗使用时)需要很严密的设置(否则程序容易经常重启),所以很多人都不会使用这项功能。所以,程序一开始就加上一句话:WDTCTL=WDTPW+WDTHOLD来关闭看门狗。

 

2.1  WDT_A的简介

特点:

①有8种可选定时时间;

②看门狗模式;

③定时器模式;

④看门狗控制寄存器存在密码保护;

⑤时钟源可选,且具有时钟源意外保护;

⑥可以被终止来节省能源;

⑦无论是用作看门狗还是定时器,其间隔时间都无法随意设定,只能从8种设定中选择,当然可以通过更改时钟频率来间接更改时间;


注意默认设置:程序启动,看门狗即启动;监控周期为32ms/32.768KHZ(也就是说当看门狗的时钟频率为32.768KHZ时,每过32ms,如果不软件清空,程序就会重启);所用的时钟源为SMCLK(实际频率不是32.768KHZ,后面会提到)。


2.2  WDT_A的寄存器及操作

注意:所有的寄存器都存字操作和字节操作模式。例如对WDTCTL寄存器直接赋值是字操作,你也可以通过WDTCTL_L(低字节寄存器)、WDTCTL_H来进行字节操作赋值。


该类寄存器只能赋值不要进行“|=、&=”等逻辑操作。


2.2.1看门狗控制寄存器WDTCTL(Watchdog Timer Control)

该寄存器是一个16位带有密码保护的读写寄存器。所谓的密码保护,是为了防止该寄存器被不小心篡改。那么是如何实现密码保护呢?事实上,该寄存器的高字节用来存放口令,低字节才是控制数据。写口令为05Ah,读口令为069h,任何和口令不一样的高字节操作都会导致系统复位。


该寄存器的位功能定义如下:(支持位操作)


WDTPW:Bits15-8,WDT Password,写为05Ah,读为069h。

 

WDTHOLD:Bit7,WDT HOLD,

0:打开看门狗计时器;

1:关闭

 

WDTSSEL:Bits6-5,WDT Clock Source Select时钟源选择


WDTTMSEL:Bit4,工作模式选择

0:看门狗模式;

1:定时器模式;

WDTCNTCL:Bit3,计时器清零

0:无效;

1:清空计数器,即WDTCNT=0x0000h

WDTIS:  Bits2-0,WDT Interval Select,间隔时间选择。用来选择计数的周期,共有8种时间可以选择。


备注:括号前数字为计数器的值

2.2.2 看门狗计数值寄存器WDTCNT(Watchdog Timer Counter)

这是一个32Bit的加计数器,但是不能通过软件来直接对其进行赋值等操作,只能通过WDTCTL中的WDTIS来选择时间。或者你可以通过WDTSSEL选择不同的时钟源,来间接改变时间。


2.2.3  看门狗中断位控制

WDT利用SFRS总寄存器中的两位来控制中断。

WDT中断标志位:WDTIFG,位于SFRIFG1.0

WDT 中断使能位:WDTIE,位于SFRIE1.0

                  

看门狗模式:如果不及时对WDTCNT清零或者对WDT初始化,WDTIFG就会置位,然后程序就会重启。


计时器模式:必须开总中断GIE和看门狗中断WDTIE。此外,当执行完中断服务程序后,标志位WDTIFG会自动清零。

 

2.3常用操作

/*关闭看门狗*/

WDTCTL=WDTPW+WDTHOLD;

/*喂狗,即对有效状态的看门狗进行清零操作*/

/* 时间计满还不喂狗就会导致程序重启*/

/*WDTIS2即WDTIS=100,此时时间间隔设为1S,假定频率为32.768KHZ*/

WDTCTL = WDTPW + WDTCNTCL+WDTSSEL0+WDTIS2;

/*将看门狗设置为计数器模式,计数8192约250ms,假定频率为32.768KHZ*/

/* WDTIS2+WDTIS0即101*/

WDTCTL=WDTPW+WDTCNTCL+WDTTMSEL+WDTIS2+WDTIS0

 

总结例程:

/*首先将WDT设为定时器功能。而中断服务子程序则是把WDT改为看门狗功能。这样就通过中断控制的周期性的重启程序,实现了LED闪烁*/

/*注意,这里默认的时钟源不是32KHZ,而是内部的DCO-SMCLK(之后会讲到)1.045MHZ。所以前面WDTIS定义的时间大约都要缩小1045/32=32倍*/

 

#include

void main(void)

{

   /*清零-设定为计数器-时间设定为010模式,即256S/32=8S*/

   WDTCTL=WDTPW+WDTCNTCL+WDTTMSEL+WDTIS1;

   __enable_interrupt(); //开总中断

   SFRIE1|=WDTIE;        //开看门狗定时器中断

   P1DIR=0xff;

   int i,j;

   P1OUT=0xff;

      for(i=0;i<30000;i++)

         for(j=0;j<50;j++);    //延时约8S

      P1OUT=0x00;

   while(1);

}

 

/*中断服务程序*/

#pragma vector=WDT_VECTOR

__interrupt void WatchTimer(void)

{

   WDTCTL=WDTPW+WDTCNTCL+WDTIS1;  //看门狗模式,时间设定约为8S

}

推荐阅读

史海拾趣

FUJITSU(富士通)公司的发展小趣事

富士通(Fujitsu)在电子行业的五个发展故事

故事一:从电话交换机到ICT巨头的起步

富士通的故事始于1935年,当时它作为一家电信设备制造商在日本成立,首款产品是电话交换机,这标志着富士通成为日本首家生产此类设备的公司。这一里程碑不仅奠定了富士通在通信领域的基础,也为其后续在信息技术(IT)和通信技术(CT)领域的多元化发展铺平了道路。随着技术的不断进步,富士通逐渐扩展其业务范围,从单一的通信设备制造商转变为全球领先的ICT企业。

故事二:FACOM 100——日本首台计算机的诞生

1954年,富士通成功研发出日本第一台中继式自动计算机FACOM 100,这一成就不仅标志着富士通在计算机领域的突破,也为其后续在计算机硬件和软件领域的深入发展奠定了坚实基础。FACOM 100的问世,不仅提升了富士通在业界的知名度,也推动了日本乃至全球计算机技术的快速发展。

故事三:全球化战略的推进

自20世纪70年代以来,富士通积极实施全球化战略,通过在全球各地设立研发中心、生产基地和销售网络,不断拓展其国际业务。在中国,富士通自1979年起便开始了其业务布局,从最初的设备销售到后来的技术研发、生产制造和解决方案提供,富士通在中国的发展历程见证了其全球化战略的深入实施。如今,富士通的产品和服务已遍布全球80多个国家和地区,服务超过百万家客户。

故事四:云计算与数字化转型的引领

进入21世纪,随着云计算和数字化转型的兴起,富士通迅速调整战略方向,加大在云计算领域的投入。通过提供全方位的云计算服务和解决方案,富士通帮助客户实现业务的数字化转型和升级。同时,富士通还积极与微软等国际巨头合作,共同开拓全球云计算市场,进一步巩固了其在ICT行业的领先地位。

故事五:技术创新与可持续发展

富士通始终将技术创新作为企业发展的核心驱动力。近年来,富士通在人工智能、物联网、大数据等新兴技术领域取得了显著成就,推出了一系列具有自主知识产权的创新产品和解决方案。同时,富士通还积极履行企业社会责任,通过提供绿色、环保的ICT产品和服务,推动社会的可持续发展。这些努力不仅提升了富士通在全球市场的竞争力,也为其赢得了广泛的赞誉和尊重。

Econais公司的发展小趣事

自成立以来,Econais一直致力于技术创新。XXXX年,公司成功推出了一款具有里程碑意义的单芯片IEEE802.11b/g/n Wi-Fi系统级封装(SiP)模块——EC19D01。这款模块在业界引起了广泛关注,因为它不仅体积小、易于集成,而且待机功耗极低。这一突破性的创新使得Econais在物联网领域树立了技术领先的地位。

Chip Supply Micro Devices公司的发展小趣事

随着市场竞争的加剧,Chip Supply Micro Devices意识到成本控制的重要性。公司开始着手优化供应链管理,通过引入先进的生产管理系统和自动化设备,提高了生产效率,降低了生产成本。同时,公司还与供应商建立了长期稳定的合作关系,确保了原材料的稳定供应和优质品质。这些措施使得Chip Supply Micro Devices在价格上具备了竞争优势,进一步提升了市场份额。

德尔创(Dersonic)公司的发展小趣事

在激烈的市场竞争中,德尔创始终保持着对技术创新的追求。公司不断加大研发投入,引进高端人才和先进设备,积极探索新的技术路线和产品应用。通过多年的积累和创新,德尔创在电子元器件领域已经拥有了一批具有自主知识产权的核心技术,并在市场上取得了显著的优势。这些技术优势不仅提升了公司的竞争力,还为公司的未来发展奠定了坚实的基础。

CHERRY公司的发展小趣事

随着业务的不断发展,Cherry将目光投向了更广阔的市场。1967年,随着个人计算机的普及,Cherry看到了键盘市场的巨大潜力,于是决定引进键盘生产线。不久之后,Cherry建造了世界上第一个键盘工厂,开始生产高质量的键盘产品。这一决策为Cherry公司后来的发展奠定了坚实的基础。

芯海科技(CHIPSEA)公司的发展小趣事

芯海科技自2003年成立以来,便专注于高精度ADC(模数转换器)芯片的研发。在成立初期,公司面临国际巨头的激烈竞争,但凭借对技术的执着追求,成功打破了国内市场的垄断。公司推出的高精度ADC芯片在电能计量领域得到了广泛应用,为工业领域提供了稳定、可靠的解决方案。这一阶段的成功为芯海科技在电子行业奠定了坚实的基础。

问答坊 | AI 解惑

MSP430单片机C语言应用程序设计实例精讲

MSP430单片机C语言应用程序设计实例精讲…

查看全部问答>

关于U盘热插拔的自动挂载问题!求助

在S3c2410下,已经可以识别U盘,如何才能实现U盘热插拔是U盘文件系统自动挂载在 /mnt/media/目录下,这个问题困绕我几天了,希望可以快点解决。…

查看全部问答>

请教一下 weak function 和weak symbol 有什么区别

请教一下 weak function 和weak symbol 有什么区别…

查看全部问答>

关于CE下保存执行文件的问题,求助!

请问我在我制订的CE系统中装了个软件(ICA CLIENT)为什么一掉电就没了?? 怎么能永久保存呢?? 我是先加的IDE驱动 在CE系统下能看到硬盘的每个盘符 这样我把那个软件安装放在一个盘符下 然后进CE系统安装,但是每次重启就得重新安装 …

查看全部问答>

Google TV触动了谁的“利益”

In-Stat指出,当Google TV发布了未来的网络和电视的结合体的雏形洋洋得意之时,主流的广播电视网络似乎心存异议,并且某些早期的使用者也指出这款软件的中存在瑕疵。   首席分析师Gerry Kaufhold说,Sony提供由Google TV提供技术支持的高清电视 ...…

查看全部问答>

串口4(UART4)的设置和其他有什么区别吗?

     我按 串口1,2,3设置,却工作不起来呀?     时钟和管脚什么都配置得没有错呀!     …

查看全部问答>

自愉自乐之C8051F020与80C51的区别

80C51系列单片机及其衍生产品在我国乃至全世界范围获得了非常广泛的应用。单片机领域的大部分工作人员都熟悉80C51单片机,各大专院校都采用80C51系列单片机作为教学模型。随着单片机的不断发展,市场上出现了很多高速、高性能的新型单片机,基于标 ...…

查看全部问答>

推荐长焦相机

想买给父母旅游用,要长焦的,风景照得远一些,行货水货都行,最好能推荐一个淘宝店家,水货要真实的水货,别弄翻新的,我个人看了一下尼康的P500和尼康的L120,L120是AA电池的,有些不喜欢,P500的性价比觉得不是很好,还有淘宝上我看卖水货D3000 ...…

查看全部问答>

LM3S811中文数据手册

目录关于本文档...................................................................................................................................... 18读者........................................................................... ...…

查看全部问答>