cputimer.c
来自「DEC_2812的最简单测试程序,在原来的程序上经过更改」· C语言 代码 · 共 90 行
C
90 行
/************************************************************************************
版权(c) 2003- 北京合众达电子技术有限责任公司 *
* 设计者: 戴展波
*************************************************************************************/
#include "DSP28_Device.h"
#include "ext_inf.h"
unsigned int Led_Flag;
unsigned int count=0;
Uint32 countbetween=0;
Uint32 countold=0;
Uint32 countnew=0;
interrupt void ISRTimer2(void);
void main(void)
{
/*初始化系统*/
InitSysCtrl();
/*关中断*/
DINT;
IER = 0x0000;
IFR = 0x0000;
Led_Flag = 0;
/*初始化PIE*/
InitPieCtrl();
/*初始化PIE中断矢量表*/
InitPieVectTable();
/*初始化外设*/
InitPeripherals();
EALLOW;
PieVectTable.TINT2 = &ISRTimer2;
EDIS;
/*设置CPU*/
ConfigCpuTimer(&CpuTimer2, 150, 50000);
StartCpuTimer2();
/*开中断*/
IER |= M_INT14;
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
countold=CpuTimer2.RegsAddr->TPR.all;
for(;;);
}
interrupt void ISRTimer2(void)
{
CpuTimer2.InterruptCount++;
countnew=CpuTimer2.RegsAddr->TIM.all;
countbetween=countold-countnew;
countold=countnew;
if(Led_Flag == 1)
{
countold=CpuTimer2.InterruptCount;
*LED2 = 0;
LED1_ON;
count++;
Led_Flag = 0;
}
else
{
*LED2 = 1;
LED1_OFF;
Led_Flag = 1;
}
}
//===========================================================================
// No more.
//===========================================================================
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?