if(SysTick_Config(SystemCoreClock/1000)) while(1);

2019-08-14 19:01发布

if(SysTick_Config(SystemCoreClock/1000))                   
while(1);
是什么意思,while(1)不是进入死循环了吗
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
mashuntao
2019-08-15 19:49
static __INLINE uint32_t SysTick_Config(uint32_t ticks) {    if (ticks > SysTick_LOAD_RELOAD_Msk)  return (1);            /* Reload value impossible */                                                                   SysTick->LOAD  = (ticks & SysTick_LOAD_RELOAD_Msk) - 1;      /* set reload register */   NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Cortex-M0 System Interrupts */   SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */   SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |                     SysTick_CTRL_TICKINT_Msk   |                     SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */   return (0);                                                  /* Function successful */ },设置成功后返回0,接着执行下面的操作,如果不成功返回非0,就等在这里不再执行!

一周热门 更多>