CH582F的官方库里的SYS_GetSysTickCnt函数

CH58x_sys.c中获取当前系统(SYSTICK)计数值的函数返回值类型是uint32_t,但是CNT不是64位的吗,分高、低32位,这里是只用到了低32位?

高32位自己可以用吗

/*********************************************************************
 * @fn      SYS_GetSysTickCnt
 *
 * @brief   获取当前系统(SYSTICK)计数值
 *
 * @param   none
 *
 * @return  当前计数值
 */
uint32_t SYS_GetSysTickCnt(void)
{
    uint32_t val;

    val = SysTick->CNT;
    return (val);
}

1669447184364.png

您好,例程中只用到了低32位。芯片本身是支持64位的,如果需要可以自行配置使用。


好的,谢谢你了


请问这个返回的计数值单位是ms吗?


您好,SYS_GetSysTickCnt返回的计数是按主频计数的,主频一般默认配置为60M。计数重载值可以通过SysTick_Config接口配置。


只有登录才能回复,可以选择微信账号登录