zoukankan      html  css  js  c++  java
  • Systick定时器

    Systick定时器,是一个简单的定时器,对于CM3,CM4内核芯片,都有Systick定时器。相当于系统的"心跳"。

    • 固件库中的Systick相关函数:

    SysTick_CLKSourceConfig() //Systick时钟源选择 misc.c文件中

    SysTick_Config(uint32_t ticks) //初始化systick,时钟为HCLK,并开启中断

    //core_cm3.h/core_cm4.h文件中

    • Systick中断服务函数:

    void SysTick_Handler(void);

    两种计时方法

    1、中断计时(一般不采用,占用资源)

    调用了SysTick_Handler中断服务函数

    2、查询方式(正点原子采用)

    利用了三个函数

    void delay_init(void);

    用fac_us和fac_ms计算每个us/ms需要的systick时钟数

    void delay_us(u32 nus);

    利用nus*fac_us实现任意时间的计算,利用了systick的Load、val、ctrl等寄存器。

    void delay_ms(u16 nms);同理。

  • 相关阅读:
    C++(函数默认参数)
    C++(引用六)
    C++(引用五)
    C++(引用四)
    C++(引用三)
    C++(引用二)
    C++(引用一)
    划水。。。
    2019.11.7
    lyc——2019.10.31
  • 原文地址:https://www.cnblogs.com/yishuad/p/5732321.html
Copyright © 2011-2022 走看看