久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

TMS320F2812外設例程系列之Watchdog

作者:佚名   來源:不詳   點擊數:  更新時間:2014年08月17日   【字體:

 

 
//#####################################################################
//文件:  Example_281xWatchdog.c
//說明:  DSP281x看門狗中斷測試程序
//#####################################################################
#include "DSP281x_Device.h"     
#include "DSP281x_Examples.h"   
interrupt void wakeint_isr(void);     //中斷服務程序wakeint_isr的聲明
Uint32 WakeCount;
Uint32 LoopCount;
//主程序
void main(void)
{
    //Step 1. 初始化系統控制,該函數在DSP281x_SysCtrl.c 文件中
    InitSysCtrl();                 //初始化PLL、看門狗,使能外設時鐘
    //Step 2.初始化GPIO
    //該函數在DSP281x_Gpio.c文件中,顯示如何設置GPIO到其默認狀態
    //InitGpio();                 //本例未使用,跳過  
    //Step 3.禁止所有中斷,初始化PIE中斷向量表
    DINT;                         //關全局中斷
    //初始化PIE控制寄存器到它們的默認狀態,即禁止所有的PIE中斷,清除所有的PIE中斷
    //標志,這個函數在DSP281x_PieCtrl.c文件中
    InitPieCtrl();
    IER = 0x0000;                 //禁止CPU中斷
    IFR = 0x0000;                 //清除CPU中斷標志
    //初始化PIE中斷向量表,使中斷向量指向中斷服務程序(ISR)。為了調試方便,即使本例
    //不使用的中斷也初始化。ISR在DSP281x_DefaultIsr.c文件中
    InitPieVectTable();
    //本例中使用到的中斷程序入口地址重載到相應中斷向量
    EALLOW;                 //允許訪問受保護寄存器
    PieVectTable.WAKEINT = &wakeint_isr;
    EDIS;                       //禁止訪問受保護寄存器
    //Step 4.初始化器件所有的片內外設,該函數在DSP281x_InitPeripherals.c文件中
    //InitPeripherals();           //本例不需要,跳過
    //Step 5. 用戶代碼,使能中斷
    WakeCount = 0;               //計中斷次數清零
    LoopCount = 0;               //計通過循環的次數清零
    //看門狗復位(WDRST)輸出信號無效且看門狗中斷(WDINT)輸出信號有效 
    EALLOW;
    SysCtrlRegs.SCSR = BIT1;     //清除WDOVERRIDE位
    EDIS;
    PieCtrlRegs.PIECRTL.bit.ENPIE = 1;   //使能PIE塊
    PieCtrlRegs.PIEIER1.bit.INTx8 = 1;     //使能PIE級中斷INT1.8
    IER |= M_INT1;                 //使能CPU級中斷 INT1
    EINT;                         //使能全局中斷
    KickDog( );                     //喂狗,清除看門狗計數器
    EALLOW;
    SysCtrlRegs.WDCR = 0x0028; //使能看門狗
    EDIS;
    //Step 6. 空循環
    for(;;)
    {
       LoopCount++;
       //不注釋掉KickDog(喂狗)就一直在這兒循環,注釋掉KickDog(喂狗)引起WAKEINT中斷
       //KickDog();
    }
}
//Step 7. 加上局部中斷服務程序(ISR),如果局部ISR已經使用,按照Step 5中斷向量,
//再分配中斷向量地址
interrupt void wakeint_isr(void)
{
WakeCount++;
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;  
  //應答這個中斷,以便再接收PIE組1的中斷
}
 
關閉窗口
主站蜘蛛池模板: 九九九国产 | 亚洲精品白浆高清久久久久久 | 中文字幕精品一区二区三区精品 | 亚洲欧美日韩精品久久亚洲区 | 韩日三级| 91视频在线 | 欧美一级片a | 一区二区三区免费在线观看 | 日日夜夜精品视频 | 国产精品久久亚洲 | 成人毛片网 | 亚洲视频在线观看 | 正在播放国产精品 | 亚洲精品视频在线播放 | 鲁一鲁资源影视 | 日韩欧美视频 | 欧美a在线观看 | 精品一区二区三区中文字幕 | 美女黄频 | a级在线免费| 国户精品久久久久久久久久久不卡 | 狠狠ri | 亚洲精品www久久久久久广东 | 91精品入口蜜桃 | 久久一区二区精品 | 午夜免费网站 | 久久久久国产精品 | 亚洲自拍一区在线观看 | 欧美精品成人 | 色综合天天天天做夜夜夜夜做 | www.色综合| 欧美精品福利 | 97日日碰人人模人人澡分享吧 | 日韩国产高清在线观看 | 国产成视频在线观看 | 欧美日韩中文在线 | 欧美精品影院 | 日韩成人免费 | 国产精品一区二区三区在线 | 国产精品一区二区av | 国产精品1|