打印
[技术问答]

system tick

[复制链接]
266|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2020-12-10 11:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

CLK_SysTickDelay 函数简介@Details    Use the SysTick to generate the delay time and the unit is in us     , The SysTick clock source is from HCLK, i.e the same as system core clock.

但CyclesPerUs是在HXT情况下,当core clock 不是hxt,一定会自动更新CyclesPerUs的吧???

使用特权

评论回复
沙发
gejigeji521| | 2020-12-10 20:39 | 只看该作者
不知道,应该没问题吧

使用特权

评论回复
板凳
gejigeji521| | 2020-12-10 20:39 | 只看该作者
这个函数本身就够了吧

使用特权

评论回复
地板
gejigeji521| | 2020-12-10 20:39 | 只看该作者
好像有个系统初始化函数,在前面已经配置了初始化。

使用特权

评论回复
5
nawu| | 2021-1-7 13:47 | 只看该作者
可以用中文表述一下吗

使用特权

评论回复
6
qcliu| | 2021-1-7 13:55 | 只看该作者
可能不能自动更新

使用特权

评论回复
7
tfqi| | 2021-1-7 13:56 | 只看该作者
默认的是十六进制的吗

使用特权

评论回复
8
wiba| | 2021-1-7 13:58 | 只看该作者
自己写一个转化函数

使用特权

评论回复
9
zljiu| | 2021-1-7 13:59 | 只看该作者
core clock是什么时钟啊

使用特权

评论回复
10
麻花油条| | 2021-2-7 11:29 | 只看该作者

使用者要呼叫 systemcoreclockupdate,去更新CyclesPerUs ,CLK_SysTickDelay 會根據CyclesPerUs 計算
void SystemCoreClockUpdate(void)             /* Get Core Clock Frequency      */
{
    uint32_t u32Freq, u32ClkSrc;
    uint32_t u32HclkDiv;

    /* Update PLL Clock */
    PllClock = CLK_GetPLLClockFreq();

    u32ClkSrc = CLK->CLKSEL0 & CLK_CLKSEL0_HCLK_S_Msk;

    if(u32ClkSrc != CLK_CLKSEL0_HCLK_S_PLL) {
        /* Use the clock sources directly */
        u32Freq = gau32ClkSrcTbl[u32ClkSrc];
    } else {
        /* Use PLL clock */
        u32Freq = PllClock;
    }

    u32HclkDiv = (CLK->CLKDIV & CLK_CLKDIV_HCLK_N_Msk) + 1;

    /* Update System Core Clock */
    SystemCoreClock = u32Freq / u32HclkDiv;

    CyclesPerUs = (SystemCoreClock + 500000) / 1000000;
}

使用特权

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

本版积分规则

980

主题

4028

帖子

10

粉丝