led_1.c
来自「dsp2812的源程序」· C语言 代码 · 共 105 行
C
105 行
/************************************************************************************
版权(c) 2003- 北京合众达电子技术有限责任公司 *
* 设计者: 戴展波
*************************************************************************************/
#include "DSP28_Device.h"
#include "ext_inf.h"
unsigned int Led_Flag, count, count1;
interrupt void ISRTimer2(void);
void main(void)
{
int i;
/*初始化系统*/
InitSysCtrl();
/*关中断*/
DINT;
IER = 0x0000;
IFR = 0x0000;
count = 0;
Led_Flag = 0;
EALLOW;
GpioMuxRegs.GPAMUX.all = 0x0000;
GpioMuxRegs.GPADIR.all = 0x00ff;
EDIS;
/*初始化PIE*/
InitPieCtrl();
/*初始化PIE中断矢量表*/
InitPieVectTable();
/*初始化外设*/
InitPeripherals();
EALLOW;
PieVectTable.TINT2 = &ISRTimer2;
EDIS;
/*设置CPU*/
ConfigCpuTimer(&CpuTimer2, 150, 200);
StartCpuTimer2();
/*开中断*/
IER |= M_INT14;
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
while(1)
{
count1 = 30;
for(i = 0; i < 50;)
{
if(count == 50)
{
count = 0;
if(!(count1--))
{
count1 = 3;
i++;
}
GpioDataRegs.GPADAT.all = 0x000f;
}
if(count == i)
GpioDataRegs.GPADAT.all = 0x00f0;
}
}
}
interrupt void ISRTimer2(void)
{
CpuTimer2.InterruptCount++;
count++;
if(Led_Flag == 1)
{
*LED2 = 0;
LED1_ON;
Led_Flag = 0;
}
else
{
*LED2 = 1;
LED1_OFF;
Led_Flag = 1;
}
}
//===========================================================================
// No more.
//===========================================================================
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?