下面这个系统时钟配置,都是官方给的例程,直接复制的。我现在想用us函数,然后用了方式2,结果无法进入SysTick_Handler。感谢大家帮忙
void systick_config(void)
{
#if 方式1,可以进入SysTick_Handler
/* setup systick timer for 1000Hz interrupts */
if(SysTick_Config(SystemCoreClock / 1000U)){
/* capture error */
while(1){
}
}
/* configure the systick handler priority */
NVIC_SetPriority(SysTick_IRQn, 0x00U);
#endif
#if 方式2,无法进入SysTick_Handler,但是我需要用us延时函数
/* systick clock source is from HCLK/8 */
systick_clksource_set(SYSTICK_CLKSOURCE_HCLK_DIV8);
count_1us = (float)SystemCoreClock/8000000;
count_1ms = (float)count_1us * 1000;
#endif
}
|