//定时器初始化
void Tim1_Init(void)
{
TIM1_DeInit();
TIM1_TimeBaseInit(16,TIM1_CounterMode_Up,1000,0); //(定时器频率:16分频即系统频率的1/16,为1M,向上计数,定时器溢出值,重装载计数从0开始) ,1MS进入一次中断
TIM1_ITConfig(TIM1_IT_Update,ENABLE);//中断配置与使能函数
TIM1_ARRPreloadConfig(ENABLE);//使能数值自动重装载功能
TIM1_Cmd(ENABLE);//开定时器
enableInterrupts();//开启总中断
}
//时钟设置
void sys_clock_init(void) //咱也不知道为啥 外部时钟就是不行
{
CLK_DeInit();
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);//配置分频系数
while(CLK_GetClockFreq() != 16000000); //测试时钟频率
}
void main(void)
{
GPIO_DeInit(GPIOD);
GPIO_Init(GPIOD,GPIO_Pin_0,GPIO_Mode_Out_PP_High_Fast);
sys_clock_init();//时钟初始化
Tim1_Init();//定时器初始化
GPIO_WriteBit(GPIOD,GPIO_Pin_0,RESET);
while (1)
{
}
}
INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_COM_IRQHandler,23)
{ //中断服务函数
GPIO_WriteBit(GPIOD,GPIO_Pin_0,SET);
TIM1_ClearITPendingBit(TIM1_IT_Update);//清除更新计数器标志位
}
如题,我是想进入中断后让LED灯熄灭,但是就是不成功,希望大佬能指出我的错误,谢谢大佬。