新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32學習筆記——使用SysTick定時器做延時

        STM32學習筆記——使用SysTick定時器做延時

        作者: 時間:2016-11-28 來源:網絡 收藏

        lSystick當前值寄存器(SysTick_VAL)

        lSysTick校準值寄存器(SysTick_CALIB)

        各寄存器示意圖:

        2.SysTick函數

        3.0版以后的STM32固件庫在標準外設庫中移除了SysTick的驅動,因此用戶必須調用CMSIS定義的函數。

        CMSIS只提供了一個SysTick設置的函數,替代了STM32原有SysTick驅動的全部函數。

        [cpp]view plaincopy
        1. SysTick_Config(uint32_tticks);

        該函數設置了自動重載入計數器(LOAD)的值,SysTick IRQ的優先級,復位了計數器(VAL)的值,開始計數并打開SysTick IRQ中斷。SysTick時鐘默認使用系統時鐘。

        此外,還可以使用SysTick_CLKSourceConfig函數來改變時鐘源,使用NVIC_SetPriority設置中斷優先級(往后再深入)。

        SysTick_CLKSourceConfig函數

        函數名

        SysTick_CLKSourceConfig

        函數原型

        SysTick_CLKSourceConfig(u32 SysTick_CLKSource)

        行為描述

        配置SysTick的時鐘源

        輸入參數

        SysTick_CLKSource:SysTick的時鐘源

        輸出參數

        返回值

        前提條件

        調用函數

        SysTick_CLKSource允許值

        SysTick_CLKSource

        描述

        SysTick_CLKSource_HCLK_Div8

        SysTick時鐘源為AHB時鐘的1/8

        SysTick_CLKSource_HCLK

        SysTick時鐘源為AHB時鐘



        關鍵詞: STM32SysTick定時

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 台北市| 论坛| 丹巴县| 房产| 习水县| 青浦区| 吐鲁番市| 彭州市| 青铜峡市| 阜城县| 鞍山市| 肇东市| 大丰市| 汪清县| 兰坪| 曲阳县| 鄂托克前旗| 南投市| 库车县| 张掖市| 封开县| 铜鼓县| 鹿邑县| 洛阳市| 高阳县| 天全县| 寿宁县| 合水县| 宜昌市| 花莲县| 舞钢市| 沙坪坝区| 青田县| 布拖县| 桃园市| 定远县| 安陆市| 津市市| 洞口县| 临泉县| 五莲县|