📄 cputimer2.c
字号:
#include "DSP28_Device.h"
unsigned int *LedADDR = (unsigned int *) 0x2002; //发光二极管控制寄存器
interrupt void ISRTimer2(void); //Timer2中断服务程序
unsigned int Flag;
void main(void)
{
InitSysCtrl(); //初始化系统
DINT; //关中断
IER = 0x0000;
IFR = 0x0000;
Flag = 0;
InitPieCtrl(); //初始化PIE
InitPieVectTable(); //初始化PIE中断矢量表
InitPeripherals(); //初始化外设
EALLOW;
PieVectTable.TINT2 = &ISRTimer2;
EDIS;
ConfigCpuTimer(&CpuTimer2, 50, 1000000); //设置CPU
StartCpuTimer2();
IER |= M_INT14; //开中断 内部定时器在PIE分组中位于14
EINT; // Enable INTM
ERTM; // Enable DBGM
*LedADDR = 0xFF; //熄灭所有8个灯
while (1);
}
interrupt void ISRTimer2(void)
{
CpuTimer2.InterruptCount++;
if(Flag == 1)
{
*LedADDR = 0x55;
Flag = 0;
}
else
{
*LedADDR = 0xAA;
Flag = 1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -