91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

STM32 的Systick操作

發布時間:2020-07-10 16:19:22 來源:網絡 閱讀:1084 作者:古泥瓦 欄目:開發技術


首先需要知道的是:

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

2)Systick為內核提供系統時鐘用,比如可以用來作為操作系統的滴答時鐘。更多作用可以參考《ARM v7-M Architecture ReferenceManual》

3)Systick是個遞減計數器,當計數值遞減為0時可以產生Exception中斷,中斷號為15.

4)Systick相關的寄存器有4個。參考《ARMv7-M Architecture Reference Manual》

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

6)具體配置函數,在core_cm3.h中有SysTick_Config()函數用于配置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的更多詳細內容參考文獻:

《ARM v7-M Architecture Reference Manual》

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

呼和浩特市| 阿克苏市| 怀仁县| 正定县| 固原市| 藁城市| 肃南| 崇礼县| 无极县| 团风县| 葵青区| 太康县| 汾阳市| 宜宾县| 永和县| 泗洪县| 米林县| 松桃| 舒兰市| 株洲市| 商城县| 拉萨市| 辽源市| 曲阳县| 科尔| 乌拉特前旗| 九台市| 遵化市| 武山县| 宜兰市| 隆子县| 靖西县| 灌云县| 府谷县| 青田县| 阳原县| 鄂州市| 景东| 准格尔旗| 西林县| 当雄县|