打印

初学者,关于系统滴答定时器的问题

[复制链接]
277|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
张さん|  楼主 | 2020-4-8 09:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在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呢?

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

448

主题

464

帖子

1

粉丝