在SysTick这一节秉火例程《bsp_SysTick.c》文件中我看到了这样一个函数
[C] 纯文本查看 复制代码void SysTick_Init(void)
{
/* SystemFrequency / 1000 1ms中断一次
* SystemFrequency / 100000 10us中断一次
* SystemFrequency / 1000000 1us中断一次
*/
// if (SysTick_Config(SystemFrequency / 100000)) // ST3.0.0库版本
if (SysTick_Config(SystemCoreClock / 100000)) // ST3.5.0库版本
{
/* Capture error */
while (1);
}
}
这个if语句看不太懂:
if条件是个返回值为0的函数,那么理论上无论如何也触发不了这个if,为什么还要这样写呢?除了 SysTick_Config() 函数返回值被修改外,还有什么情况才会触发这个if呢? |