MSP430(G2553)用看门狗定时器来产生周期信号

发布者:自在堂最新更新时间:2020-01-28 来源: eefocus关键字:MSP430  看门狗  定时器来  周期信号 手机看文章 扫描二维码
随时随地手机看文章

#include

#include

 

volatile unsigned int i = 0;  // 中断服务子程序中所用到的全局变量, 最好定义成 volatile 型, 具体原因和用法可以参考我的其他博文介绍

 

void main (void)

{

    WDTCTL = WDT_MDLY_0_5; // 周期 0.5ms, 设置可参考下面头文件中的截段

    IE1 |= WDTIE;          // 使能WDT中断

    P2DIR |= BIT2;         // P2.2输出

    _EINT();               // 使能全局中断

    for (;;)

    {

        LPM0;              // 进入LPM0

        _NOP();

    }

}

 

 

// 看门狗中断服务子程序

#pragma vector=WDT_VECTOR

__interrupt void WDT_Timer_ISR(void)

{

    if (i++ > 1) {

        P2OUT ^= BIT2;     // 取反

    }

}

==============================================================================================================================


//==========================================================================================================================

// 相关头文件中的定义

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

* WATCHDOG TIMER

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

#define __MSP430_HAS_WDT__             /* Definition to show that Module is available */

 

#define WDTCTL_             (0x0120u)  /* Watchdog Timer Control */

DEFW(   WDTCTL            , WDTCTL_)

/* The bit names have been prefixed with "WDT" */

#define WDTIS0              (0x0001u)

#define WDTIS1              (0x0002u)

#define WDTSSEL             (0x0004u)

#define WDTCNTCL            (0x0008u)

#define WDTTMSEL            (0x0010u)

#define WDTNMI              (0x0020u)

#define WDTNMIES            (0x0040u)

#define WDTHOLD             (0x0080u)

#define WDTPW               (0x5A00u)

 

 

/* 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   " */


关键字:MSP430  看门狗  定时器来  周期信号 引用地址:MSP430(G2553)用看门狗定时器来产生周期信号

上一篇:MSP430G2553 WDT的看门狗模式例子
下一篇:MSP430学习小结1-看门狗的使用总结

推荐阅读最新更新时间:2024-11-07 15:48

MSP430F249SPI+TLC549
/****************************************************************** ** ** File : SPI.c | TLC549 | ** Version : 1.0 ** Description : SPI interface TLC549 ** Author : LightWu ** Date : 2013-4-15
[单片机]
MSP430F5438A+TM1650+DS3231模块时间显示
MSP430F5438A+TM1650+DS3231模块时间显示。 MSP430F5438A实时读取DS3231的时间数据,并通过TM1650驱动数码管显示。 DS3231的时间输出具有高精度,较低的功耗,较DS1302具有绝对的优势。 ADS1110为16位ADC转换芯片,数字输出,只有6脚封装,极大的减小了PCB的占用面积。 电路和程序如下。 //////////////////////////主函数//////////////////////////////////// void main() { uint i; WDTCTL = WDTPW + WDTHOLD; //关闭看门狗 Init
[单片机]
<font color='red'>MSP430</font>F5438A+TM1650+DS3231模块时间显示
MSP430F5529-UART串口通信及修改
关于串口通信的方式,在msp430f5529中主要有3种,分别是: UART,IIC 和SPI。本次记录的就是UART这一类的应用,符合uart串口传输的配件可以通过这种方式实现两个MCU之间的通信。 ,首先在用户手册上可以看到: MSP430F5529LP的microcontroller也就是微型处理器上有4个串口通信的接口(包括上面提到的上种种类)。 再看接口图: 这里可以看到: UART(A0)的RT和XT在P3.4和P3.3 IIC(B1)的SCL和SDA在P4.2和P4.1 SPI在P3.0和P3.1,这组接口也可以用于IIC(B0)的SCL和SDA 除了这三组,还有一组UART的借口被用于USB线的编译了,
[单片机]
<font color='red'>MSP430</font>F5529-UART串口通信及修改
TI - MCU - MSP430使用指南32 -> SAC智能模拟组合
SAC(Smart Analog Combo),即智能模拟组合,这个IP核出来的时间并不长,目前只用在了两个片子上:MSP430FR2353和MSP430FR2355。首先看一下SAC内部是个什么结构呢: 从上图可以看到,内部本质上就是一个OPA放大器,同时在运放的+和-的输入端有个选择开关,可以根据客户的需求搭建不同的电路,同时内部还集成一个12 bit的DAC模块,用于在一些使用环境下提供固定的电压,可以实现电压偏移的目的。 针对上述这个内部结构,我们进行细致的分析: 对于+输入端,有三个可以选择的通道: 00:引脚接入 01:12 bit DAC信号 10:内部Amp的输出,也就是其他SAC模块的
[单片机]
TI - MCU - <font color='red'>MSP430</font>使用指南32 -> SAC智能模拟组合
德州仪器举办全球超低功耗MSP430 MCU 设计大赛
日前,德州仪器 (TI) 宣布启动 MSP430 微控制器 (MCU) 超低功耗设计挑战赛,旨在鼓励全球设计人员充分展现其创新实力。该项赛事得到了电子元器件经销商安富利电子元件部 (Avnet Electronics Marketing) 的支持,比赛将在 2009 年 10 月 19 日至 2010 年 1 月 19 日期间进行。参赛选手将提交使用业界最低功耗 MSP430 MCU 与开发工具、面向从日常实用解决方案到专用设计理念的各种低功耗视频演示,从而激励他们最大限度地降低功耗。 由三名评委组成的评委会将根据参赛作品的创新性以及对片上 MSP430 MCU 特性的利用,评选出前三名选手。所有参赛作品都将根据创造
[手机便携]
MSP430实现简单的对临界资源的冲突访问
实现对临界资源的冲突访问 __monitor int get_lock(void) { if (the_lock == 0) { /* Success, we managed to lock the lock. */ the_lock = 1; return 1; } else { /* Failure, someone else has locked the lock. */ return 0; } } /* release_lock -- Unlock the lock. */ __monitor void release_lock(void) { the_lock = 0; }
[单片机]
MSP430+DMA
硬件介绍: MSP430F15X/16X 系列单片机具有DMA 控制器,从而能够为数据高速传输提供保证。例如,通过DMA控制器可以直接将ADC 转换存贮器的内容传到RAM 单元。 MSP430系列单片机扩展的DMA具有来之所有外设的触发器,不需要CPU的干预即可提供先进的可配置的数据传输能力,从而加速了基于MCU的信号处理进程,DMA传输的触发来源对CPU 来说是完全透明的,DMA控制器可在内存与外部及外部硬件之间进行精确的传输控制。DMA 消除了数据传输延迟时间以及各种开销,从而可以解放16为RISC CPU,以便其将更多的时间用于处理数据,而非执行正在处理的任务。 MSP430F16x系列单片机的DMA模块有以下特点:数据传送
[单片机]
<font color='red'>MSP430</font>+DMA
MSP430 5438时钟系统介绍
3.1时钟系统介绍 UCS模块支持低功耗。它内部含有三个时钟信号,用户可以自行选择,找到性能和功耗的平衡点。UCS软件 配置后,只需要一两个晶振或者电阻,而不需要使用外部振荡器。 UCS模块最多含有5个时钟源: l XT1CLK:低频/高频振荡器,可以使用低频 32768HZ 晶振和外部振荡器或者通过外部输入源输入 4MHZ~32MHZ时钟。 l VLOCLK:内部低消耗,低频振荡器。典型值为 12KHZ。 l REFOCLK:内部低频振荡器,典型值为 32768HZ,作为 FLL基准源。 l DCOCLK:内部数字控制振荡器(DCO)可以通过 FLL来稳定。 l XT2CLK:可选择的高频振荡器,可以使用标准晶振,振荡器
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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