MSP430看门狗程序

发布者:cw57324588最新更新时间:2021-03-18 来源: eefocus关键字:MSP430  看门狗程序  干扰 手机看文章 扫描二维码
随时随地手机看文章

单片机经常工作在环境干扰比较大的环境中,容易受到各种各样的干扰而使单片机不能执行正常的程序。MSP430片内集成了看门狗定时器(WDT),具有两种功能,其一作为普通的定时器,该模式下产生正常的定时中断信号;其二作为通常意义上的看门狗,用来复位单片机,避免单片机长时间处于不正常工作状态。


鉴于看门狗的工作职责,看门狗寄存器值的读写通常采用密码字+数据的方式,以防止单片机正常执行过程中对看门狗的误写。MSP430F169简单的看门狗初始化和喂狗操作程序如下所示:


#include


#include "wdt.h"


/*******************************************


函数名称:看门狗初始化程序


功 能:看门狗设定32ms,看门狗时钟选择SMCLK


参 数:无


返回值 :无


********************************************/


void wdt_init(void)


{


WDTCTL = WDT_MRST_32; // 设定看门狗定时器32ms复位


}


/*******************************************


函数名称:喂狗程序


功 能:清零看门狗定时器计数值


参 数:无


返回值 :无


********************************************/


void wdt_clear(void)


{


WDTCTL = WDTPW + WDTCNTCL; // 清零看门狗定时器


}


该程序设定看门狗时钟采用SMCLK,设定最大喂狗时间为32ms,当用户程序在规定的32ms内没有清零看门狗定时器的计数值,看门狗定时器溢出,产生复位信号,最终复位单片机。注意到看门狗计数值清零与初始化为同一个寄存器,采用赋值的方式清零看门狗定时器计数值,同时会改变看门狗定时器的工作模式。本程序之所以可以按用户的设定运行,是因为看门狗定时器采用SMCLK时钟,喂狗操作正好不改变寄存器相应工作模式位的设定值。但是如果选择ACLK作为时钟,采用该喂狗操作就会影响看门狗的工作模式了。假如设定看门狗定时器1000ms复位,WDTCTL = WDT_ARST_1000;喂狗之后就变成32ms自动复位了。用户程序如果没有在32ms内喂狗,程序就一直停在复位了。


注意到设定模式时同时具有清零的功能,正常的喂狗程序即为初始化设置程序WDTCTL = WDT_ARST_1000。


#include


#include "wdt.h"


/*******************************************


函数名称:看门狗初始化程序


功 能:看门狗设定1000ms,看门狗时钟选择ACLK


参 数:无


返回值 :无


********************************************/


void wdt_init(void)


{


WDTCTL = WDT_ARST_1000; // 设定看门狗定时器1000ms复位


}


/*******************************************


函数名称:喂狗程序


功 能:清零看门狗定时器计数值


参 数:无


返回值 :无


********************************************/


void wdt_clear(void)


{


WDTCTL = WDT_ARST_1000; // 清零看门狗定时器


}


接下来从看门狗要实现的功能来谈谈看门狗程序应该具备的条件和应用环境。看门狗程序只是用来把单片机从不正常的工作状态中拉回来,也就是说正常情况下,它是静默的,程序运行过程中必须在适当的时间间隔内喂狗。如果用户程序执行时间很长到不能满足喂狗时间,这时候应当将用户程序尽可能模块化、时间片化以满足喂狗时间。这个时候可能需要较好的编译软件支撑,最好编译软件具有时间剖析功能。在剖析用户程序代码执行时间的时候还应当注意整体的运行情况,比如用户程序执行可能很快,满足喂狗时间,但用户程序可能经常被其它中断程序抢占,用户程序执行一遍的时间可能远远超过喂狗时间,从而引起不正常的看门狗复位。


看门狗程序用来把单片机从不正常的工作状态中拉回来,也就是说不正常情况下,它是运作的,程序不正常运行过程中不应该满足喂狗条件,从而产生需要的复位信号,复位单片机。这样来看,喂狗程序不能放在中断中,因为主程序可能跑飞了,中断程序仍能正常工作,这样看门狗程序失去作用。


关键字:MSP430  看门狗程序  干扰 引用地址:MSP430看门狗程序

上一篇:430学习笔记之我见
下一篇:MSP430单片机的端口解析

推荐阅读最新更新时间:2024-11-12 12:56

如何利用Simcenter仿真解决方案应对电动汽车的电磁兼容性、电磁干扰和热性能问题
如今的车辆电气系统工程因电气化和自动驾驶功能而日益复杂。电动总成 (EPT)会带来高水平宽频电磁干扰(EMI),可能损害敏感电子和射频设备,例如与网联汽车、信息娱乐系统、高级驾驶辅助系统以及自动驾驶系统有关的设备。另外,高压和大电流电气系统还增加了散热问题的复杂性。因此,EMI、电磁兼容性(EMC)和热评估对车辆电气系统工程至关重要。 本文探讨了整车电气系统工程中的EMI/EMC和散热挑战及其带来的复杂性,并介绍了西门子仿真解决方案如何支持工程师在原型设计阶段尽早解决这些挑战。 0 序言 当前,自动驾驶和电气化正在推动汽车电子电气架构的重大变革。其中显著的变化莫过于用于车辆连接、信息娱乐系统、高级驾驶辅助系统(ADAS) 和自
[嵌入式]
如何利用Simcenter仿真解决方案应对电动汽车的电磁兼容性、电磁<font color='red'>干扰</font>和热性能问题
如何抑制开关电源的干扰
   引言    开关电源 作为电子设备的供电装置,具有体积小、重量轻、效率高等优点,在数字电路中得到了广泛的应用,然而由于工作在高频开关状态,属于强干扰源,其本身产生的干扰直接危害着电子设备的正常工作。因此,抑制开关 电源 本身的电磁噪声,同时提高其对电磁干扰的抗扰性,以保证电子设备能够长期安全可靠地工作,是开发和设计开关电源的一个重要课题。    1 开关电源干扰的产生   开关电源的干扰一般分为两大类:一是开关电源内部元器件形成的干扰;二是由于外界因素影响而使开关电源产生的干扰。两者都涉及到人为因素和自然因素。    1.1 开关电源内部干扰   开关电源产生的EMI主要是由基本整流器产生的高次谐波电流干扰和功率变换电
[电源管理]
如何抑制开关电源的<font color='red'>干扰</font>?
msp430和stm32 dht11驱动程序
最近使用msp430f5529读取dht11的温度和湿度数据,记录下驱动程序,需要可移植。 dht11模块是一块温湿度传感器模块,可以采集温度和湿度信息转化为数据发送出来,模块介绍如下: 概述:DHT11 是广州奥松有限公司生产的一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个 NTC 测温元件,并与一个高性能 8 位单片机相连接。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。DHT11 与单片机之间能采用简单的单总线进行通信,仅仅需要一个I/O 口。传感器内部湿度和温度数据 40Bit 的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。DHT11 功耗很低,
[单片机]
<font color='red'>msp430</font>和stm32 dht11驱动<font color='red'>程序</font>
怎样使用MSP430来构建触摸按键
触摸按键的实现主要是通过检测板级系统上构建的RC振荡电路在固定时间内的振荡次数,如果振荡次数发生明显变化,则判断为触摸状态。那么振荡次数主要是由RC的值决定,在系统中R值是固定的,而电容C即系统的中的传感器,是由PCB layout的一个尺寸与手指大小的覆铜片。其与周围的地层构建一个电容值微小的电容(大约为10pF)。当手指接近会改变其介电常数, 导致电容值发生改变,因而导致振荡次数发生改变。如1图所示 图1 那么从实现角度来说,要实现触摸功能需要有RC振荡比较网络,比较器以及计数器。而MSP430具有这类资源,且其管脚漏电流非常小,非常适合用于触摸按键的功能。目前主要有检测RC充放电时间的方法(RC)与检测RC振荡次
[单片机]
怎样使用<font color='red'>MSP430</font>来构建触摸按键
MSP430的低功耗事件驱动工作模式
MSP430系列单片机的各个模块都可以独立运行,如定时器、输入/输出端口、A/D转换、看门狗、液晶显示器等都可以在CPU休眠的状态下独立工作。若需要主CPU工作,任何一个模块都可以通过中断唤醒CPU,从而使系统以最低功耗运行。 让CPU工作于突发状态可以充分利用CPU的低功耗性能。通常,使用软件将CPU设定到某一低功耗模式,在需要时使用中断将CPU从休眠状态中唤醒,完成工作后又可以进入相应的休眠状态。如:让CPU工作在LPM3状态,通过中断事件转换到AM活动模式,根据运行需要,又可以从AM状态进入相应的低功耗模式:LPM0/LPM3或LPM4。 系统的这些低功耗特性是靠系统对中断的响应来实现的。系统响应中断的过程: (1)
[单片机]
运算放大器在强电磁干扰下会出现什么变化?
一、为什么要讨论运算放大器的电磁干扰抑制性能 集成运算放大器对于输入信号差分放大工作性能会受到很多因素的影响。包括工作电压、环境温度、输入的共模信号、偏置电压、电流的变化等等。其中有一类干扰往往开始不会受到重视,那就是对环境中的电磁干扰(EMI:Electromagnetic Interference)。 在现代集成运算放大器工作环境中,周围的强的、高频的电磁干扰源逐步增多,包括有板上的开关电源、周围的无线通信模块等,响应的干扰电磁波频域会从10MHz一直扩展到6GHz。 在前几天有同学在留言中写到自己的一个经历,曾经在自行搭建的基于LM386音频功放电路调试过程中,有功放里传出了当地调频电台的声音。这说明所设计的电路对于
[测试测量]
运算放大器在强电磁<font color='red'>干扰</font>下会出现什么变化?
使用MSP430 Launchpad开发板连接HC-05蓝牙模块控制LED灯
尽管在过去十年中引入了许多无线技术,但是蓝牙仍然是短距离无线通信中最受欢迎的技术。在嵌入式系统中,HC-05 / 06是最受欢迎的蓝牙模块。在本篇文章中,我们将学习将蓝牙模块HC-05与德州仪器(TI)的MSP430 Launchpad开发板连接。在此示例中,我们将使用蓝牙终端android应用程序从智能手机控制MSP430开发板上的LED灯。 所需的材料 ● TI-MSP430 Launchpad开发板 ● HC-05蓝牙模块 ● 应用商店中的Bluetooth Terminal App HC-05蓝牙模块 HC-05是一款易于使用的蓝牙模块。它使用串行通信协议(USART)在设备之间进行通信。此模块有两种操作模式
[单片机]
使用<font color='red'>MSP430</font> Launchpad开发板连接HC-05蓝牙模块控制LED灯
德州仪器推新款超低功耗FRAM微控制器MSP430FR6972
德州仪器 (TI) 全新超低功耗FRAM微控制器为数据存储与恢复带来变革,在电源意外中断时确保数据安全 具有LCD的高集成MSP430 FRAM微控制器能以更少的系统成本实现工业自动化和仪表计量应用 为了解决困扰工程师们数十年的设计难题,德州仪器 (TI) (NASDAQ: TXN) 日前宣布推出具有革命性的Compute Through Power Loss (CTPL)技术,以在包括全新MSP430FR6972 MCU的整个MSP430TM FRAM微控制器 (MCU) 产品系列中实现数据存储与恢复。这项正在申请专利的技术能够在应用程序意外断电后通过智能系统状态恢复实现瞬时唤醒。此外,具有TI CTPL技术的全新MSP
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved