溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

STM32 的Systick操作

發(fā)布時(shí)間:2020-07-10 16:19:22 來(lái)源:網(wǎng)絡(luò) 閱讀:1081 作者:古泥瓦 欄目:開發(fā)技術(shù)


首先需要知道的是:

1)STM32的內(nèi)核是Cortex-M3, 而Systick則是屬于Cortex-M3的內(nèi)核的。

2)Systick為內(nèi)核提供系統(tǒng)時(shí)鐘用,比如可以用來(lái)作為操作系統(tǒng)的滴答時(shí)鐘。更多作用可以參考《ARM v7-M Architecture ReferenceManual》

3)Systick是個(gè)遞減計(jì)數(shù)器,當(dāng)計(jì)數(shù)值遞減為0時(shí)可以產(chǎn)生Exception中斷,中斷號(hào)為15.

4)Systick相關(guān)的寄存器有4個(gè)。參考《ARMv7-M Architecture Reference Manual》

5)Systick的控制與狀態(tài)寄存器SYST_CSR的CLOCKSOURCE可以選擇外部參考時(shí)鐘(external reference clock)也可以選擇內(nèi)核時(shí)鐘(core clock).內(nèi)核時(shí)鐘是肯定可以選擇的(在STM32中這個(gè)內(nèi)核時(shí)鐘就是System Clock),而外部時(shí)鐘的有無(wú)則都是不一定的,如果有外部時(shí)鐘,它具體的實(shí)現(xiàn)則是根據(jù)廠家來(lái)的,比如在STM32L152中,這個(gè)外部時(shí)鐘是AHB clock = (HCLK) / 8. 具體參考《Reference Manual_STM32L100xx, STM32L151xx, STM32L152xx and STM32L162xx advanced ARM_-based 32-bit MCUs》128頁(yè)。

6)具體配置函數(shù),在core_cm3.h中有SysTick_Config()函數(shù)用于配置Systick。

__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)

{

  if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) { return (1UL); }    /* Reload value impossible */


  SysTick->LOAD  = (uint32_t)(ticks - 1UL);                         /* set reload register */

  NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */

  SysTick->VAL   = 0UL;                                             /* Load the SysTick Counter Value */

  SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |

                   SysTick_CTRL_TICKINT_Msk   |

                   SysTick_CTRL_ENABLE_Msk;                         /* Enable SysTick IRQ and SysTick Timer */

  return (0UL);                                                     /* Function successful */

}


備注:

本文Systick的更多詳細(xì)內(nèi)容參考文獻(xiàn):

《ARM v7-M Architecture Reference Manual》

Reference Manual_STM32L100xx, STM32L151xx, STM32L152xx and STM32L162xx advanced ARM_-based 32-bit MCUs》

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI