欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

TMS320F2812外設(shè)例程系列之CpuTimer

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

 

 
//#####################################################################
//文件:  Example_281xCpuTimer.c
//說明: 定時器應(yīng)用實例
//#####################################################################
#include "DSP281x_Device.h"   
#include "DSP281x_Examples.h"  
//定時器中斷服務(wù)程序聲明
interrupt void cpu_timer0_isr(void);
//主程序
void main(void)                
{   
    //Step 1. 初始化系統(tǒng)控制
    InitSysCtrl();               //初始化系統(tǒng)控制寄存器、PLL、看門狗和時種
    //Step 2. 初始化 GPIO
    //InitGpio();               //本例中沒有使用,跳過  
    //Step 3. 清除所有中斷,初始化PIE中斷向量表
    DINT;                     //關(guān)CPU中斷
    InitPieCtrl();
    //初始化PIE控制寄存器組到默認狀態(tài),這個子程序在DSP281x_PieCtrl.c
    IER = 0x0000;             //禁止所有CPU中斷
    IFR = 0x0000;             //清除所有CPU中斷標志位
    InitPieVectTable();
    //初始化PIE中斷向量表,這個子程序在DSP281x_PieVect.c
    EALLOW;                 //關(guān)保護  
    PieVectTable.TINT0 = &cpu_timer0_isr;   //中斷向量指向中斷服務(wù)程序
    EDIS;                     //開保護
    //Step 4. 初始化所有片內(nèi)外設(shè)
    //InitPeripherals();   //沒有使用,跳過,在DSP281x_InitPeripherals.c
    InitCpuTimers();     //初始化定時器寄存器組
    ConfigCpuTimer(&CpuTimer0, 100, 1000000);
    //配置CPU-Timer 0 中斷周期為1s,100MHz CPU頻率,可以根據(jù)頻率改變實參
    StartCpuTimer0();       //啟動定時器 0
    //Step 5. 用戶代碼,打開中斷
    IER |= M_INT1;           //使能第一組PIE中斷
    PieCtrlRegs.PIEIER1.bit.INTx7 = 1; //使能第一組的中斷7
    EINT;                     //使能全局中斷
    ERTM;                     //使能DEBUG中斷
    //Step 6. 空循環(huán),等待中斷
    for(;;);
//中斷服務(wù)子程序
interrupt void cpu_timer0_isr(void)
{
    CpuTimer0.InterruptCount++;
    //用戶可以在此處添加自己的代碼,以完成某些特定的功能 
    PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
    //響應(yīng)這個中斷,以便CPU繼續(xù)接收第1組中斷
}
 
關(guān)閉窗口