📄 cputimer.c
字号:
/************************************************************************************
版权(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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -