STM32使用滴答定时器实现delayms

在STM32上使用SysTick实现jiffies(时间戳)并且实现delay_ms

代码实现:

cpp 复制代码
volatile uint32_t jiffies = 0; // 用于记录系统运行的jiffies数
void SysTick_Handler(void)
{
    /* 每次SysTick中断,jiffies增加 */
    jiffies++;
}

uint32_t tick_get_jiffies()
{
    return jiffies;
}

void delay_ms(uint32_t ms)
{
    uint32_t _tick = tick_get_jiffies();
    while(tick_get_jiffies() - _tick < ms);
}

由于时钟树配置64M SYS TICK

并且设置LL_Init1msTick(64000000);

可知进入SYSTICK中断的频率为:

64000000/1000 / 64*1000000 = 0.001S

转化成MS 为 1MS

注意需要添加 SysTick_CTRL_TICKINT_Msk

这样才会触发倒计时完毕进入中断

也可以调用LL_SYSTICK_EnableIT

每1000MS实现一次打印

也可以用GPIO控制,使用示波器进行查看

相关推荐
gmmi3 小时前
嵌入式学习 51单片机(3)
单片机·学习·51单片机
CC呢4 小时前
基于单片机智能热水壶/养生壶设计
单片机·嵌入式硬件·单片机设计
贾亚超5 小时前
【STM32外设】DAC
stm32·单片机·嵌入式硬件
明天见~~7 小时前
硬件基础:串口通信
嵌入式硬件
sheepwjl7 小时前
《嵌入式硬件(三):串口通信》
网络·嵌入式硬件·网络协议·串口通信
嵌入式牛马在努力帮老板娶老婆9 小时前
十四、STM32-----低功耗
stm32·单片机·嵌入式硬件
来生硬件工程师9 小时前
【硬件笔记】负载是如何烧MOS的?
笔记·嵌入式硬件·硬件架构·硬件工程·硬件设计
少男的脸红藏不住心事9 小时前
GD32入门到实战34--ARM启动流程
单片机·嵌入式硬件
日更嵌入式的打工仔10 小时前
PHY的自适应协商简析
网络·嵌入式硬件·自适应·phy
CC呢10 小时前
基于单片机坐姿提醒系统/久坐提醒设计
stm32·单片机·嵌入式硬件·单片机设计·久坐提醒