<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32學(xué)習(xí)筆記——使用SysTick定時器做延時

          STM32學(xué)習(xí)筆記——使用SysTick定時器做延時

          作者: 時間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          開學(xué)了,無法再像假期一樣能夠一整天玩板了!好在這學(xué)期的課說少不少,說多也不多,每周也有十幾大節(jié)。剩下的時間除去學(xué)生工作等一些七七八八的事情,間斷著還是能看看教程玩玩板!越發(fā)發(fā)現(xiàn)《STM32菜鳥學(xué)習(xí)手冊——啰嗦版》真是不錯的入門教程,簡單易懂。其他諸如《固件庫手冊》等等官方文件更是必不可少,可惜ST公司的網(wǎng)頁找手冊實在麻煩得很吶!

          這兩天一直在看有關(guān)于系統(tǒng)嘀嗒時鐘SysTick的文件,但由于3.5版的固件庫較2.0版的庫,已經(jīng)將SysTick相關(guān)的驅(qū)動函數(shù)移除,用戶要使用SysTick就必須改為調(diào)用CMSIS中的函數(shù),而網(wǎng)上大多數(shù)的例程(包括《菜鳥學(xué)習(xí)手冊》)使用的都是2.0的庫,以至于在學(xué)習(xí)中遇到許多問題,程序編譯總會出現(xiàn)問題。一般都是“無法找到與SysTick相關(guān)的函數(shù),函數(shù)未定義”錯誤。因此,查找了許多文獻(xiàn)才得以解決。

          本文引用地址:http://www.ex-cimer.com/article/201611/322898.htm

          SysTick定時器被捆綁在NVIC中,用于產(chǎn)生SysTick異常(異常號:15)。主要應(yīng)用于操作系統(tǒng),作為“嘀嗒中斷”維持操作系統(tǒng)“心跳”的節(jié)律。當(dāng)然,SysTick定時器除了能服務(wù)于操作系統(tǒng)之外,還能用于其它目的:如作為一個鬧鈴,用于測量時間等。要注意的是,當(dāng)處理器在調(diào)試期間被喊停(halt)時,則SysTick定時器亦將暫停運作。

          1.SysTick寄存器:

          寄存器

          說明

          地址

          CTRL

          SysTick控制和狀態(tài)寄存器

          0xE000E010

          LOAD

          Systick重裝值寄存器

          0xE000E014

          VAL

          Systick當(dāng)前值寄存器

          0xE000E018

          CALIB

          SysTick校準(zhǔn)值寄存器

          0xE000E01C

          lSysTick控制和狀態(tài)寄存器(SysTick_CTRL)

          說明:

          CLKSOURCE位:CM3允許為SysTick提供兩個時鐘源以供選擇。第一個是內(nèi)核的“自由運行時鐘”FCLK。“自由”表現(xiàn)在它不來自系統(tǒng)時鐘HCLK,因此在系統(tǒng)時鐘停止時FCLK也繼續(xù)運行。第二個是一個外部的參考時鐘。但是使用外部時鐘時,因為它在內(nèi)部是通過FCLK來采樣的,因此其周期必須至少是FCLK的兩倍(采樣定理)。很多情況下芯片廠商都會忽略此外部參考時鐘,因此通常不可用。

          COUNTFLAG位:當(dāng)SysTick定時器從1計到0時,它將把COUNTFLAG位置位;而下述方法可以清零之:

          讀取SysTick控制及狀態(tài)寄存器(STCSR);

          往SysTick當(dāng)前值寄存器(STCVR)中寫任何數(shù)據(jù)。

          lSysTick重裝值寄存器(SysTick_LOAD)


          說明:

          當(dāng)計數(shù)器倒數(shù)至0時,使用SysTick_LOAD寄存器來指定載入“當(dāng)前值寄存器”的初始值。初始值可以是1到0x00FFFFFF之間的任何值。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: STM32SysTick定時

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();