#include "GPIO.h"
#include "lpc2388.h"
typedef unsigned int uint32;
#define Fpclk (12000000)
#define LED_V6 (1<<1)
volatile uint32 Timer0Cont = 0;
/*********************************************************************/
/* /
/* 定时器2中断服务函数 /
/* /
/* /
/********************************************************************/
void TIMER0_IRQ()
{
int T0IR_Value = 0;
T0IR_Value = T0IR;
T0IR = T0IR_Value;
VICVectAddr = 0;
Timer0Cont++;
}
/*********************************************************************/
/* /
/* 配置定时器0 /
/* /
/* /
/*********************************************************************/
void Init_timer0()
{
PCONP |= (1<<1); //确保功率控制打开Timer0.
T0IR = 0xff; //清通道0中断标志位
// T2CTCR = 0x00; //定时器模式;
T0TC = 0; //计数器清零;
T0PR = 9; //10分频
T0MR0 = Fpclk/2000; //定时5ms进中断。
T0MCR = 3; //引发中断和复位 MR0
T0TCR = 0x01;
VICIntEnClr = 0xffffffff;
VICVectAddr = 0;
VICIntSelect = 0; // 所有中断通道设置为IRQ中断
VICVectAddr4 = (uint32)TIMER0_IRQ; //中断处理函数;
VICVectPri4 = 1; //设定优先级;
VICIntEnable = (1<<4); //设定中断源Timer2位置1;// VICIntEnClr = (1<<26);
}
/*********************************************************************/
/* /
/* 初始化GPIO /
/* /
/* /
/*********************************************************************/
void LED_Init()
{
PINSEL1 = 0; //将P1.1引脚设置成GPIO
IO1DIR = 0x02; //将引脚p1.1设置成输出
IO1SET = 0x02; //将灯熄灭
}
/*********************************************************************/
/* /
/* main函数 /
/* /
/* /
/*********************************************************************/
int main()
{
//SystemInit();
LED_Init();
Init_timer0();
while(1)
{
if(Timer0Cont<=64)
{
IO1CLR = 0x02;
}
else
{
IO1SET = 0x02;
}
}
请教什么原因啊?头开始疼了!
此帖出自
小平头技术问答
搞定了,是寄存器配置问题。
一周热门 更多>