systick无法进入中断

2019-07-21 05:59发布

朋友们帮下忙,我现在systick一直进不了中断,使用原子哥的直接操作寄存器,不用中断倒是可以正常计数,但是使用库函数一直进不了中断,
__IO unsigned char hours=0,minutes=0,seconds=0;  //时,分,秒
__IO unsigned char se_count=0;      //秒钟计数
int main(void)
{      
 RCC_Configuration();     //时钟初始化函数
 GPIO_Configuration();     //端口初始化函数
 if(SysTick_Config(SystemCoreClock/10))  //100ms进入一次
 {
     /* Capture error */
     while (1);
    }
 NVIC_SetPriority(SysTick_IRQn, 0x0);
 OLED_Init();       //OLED初始化
 Boot_Interface();      //开机界面,商标图案
 while(1)
  {
   OLED_ASCII8x16(32,4,hours/10+0x30);
   OLED_ASCII8x16(40,4,hours%10+0x30);
   OLED_ASCII8x16(48,4,':');
   OLED_ASCII8x16(56,4,minutes/10+0x30);
   OLED_ASCII8x16(64,4,minutes%10+0x30);
   OLED_ASCII8x16(72,4,':');
   OLED_ASCII8x16(80,4,seconds/10+0x30);
   OLED_ASCII8x16(88,4,seconds%10+0x30);
  }
}

extern __IO unsigned char hours,minutes,seconds; //时,分,秒
extern __IO unsigned char se_count;  //秒钟计数
void SysTick_Handler(void)  //100ms进入一次
{
 seconds++;    //加秒钟
 se_count++;     //秒钟计数自增
 if(se_count>=10)   //1秒钟进入一次
 {
  se_count=0;    //重新定时1秒钟
  seconds++;    //加秒钟
  if(seconds>=60)   //判断60S时间到了没
  {
   seconds=0;   //秒钟等于0
   minutes++;   //分钟自加1
   if(minutes>=60)  //判断是否大于60分钟
   {
    minutes=0;  //分钟等于0
    hours++;  //小时自加
    if(hours>=24) hours=0; //时间等于0 
   }
  } 
 }
}
哎,我都搞了好几天了,一直进不了中断,真不知道是怎么回事,有知道的朋友麻烦帮解决下!先谢谢了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。