亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

STM32F4xx那點事(二)——系統時鐘的配置

發布時間:2020-06-23 17:00:21 來源:網絡 閱讀:1379 作者:William_Derwin 欄目:編程語言

每次接觸一款新的單片機,我都會很好奇該單片機的系統時鐘是多少MHz,怎樣才能達到Datasheet中描述的最大系統時鐘,該單片機的外設的時鐘會是多少MHz呢?如果要使用延時,我怎么編寫程序才能實現精準的延時呢?我認為這些問題是我開始接觸新單片機之前需要了解的。

對于每款ARM Cortex-M系列單片機而言,廠商為了更好的推廣自己的單片機,同時方便設計人員使用,降低產品開發周期,都會將該單片機的外設相關寄存器以及外設的相關函數都實現并打包,放在官方網站上免費供大家使用。STM32F405RG的標準外設庫還包含有DSP核的各種運算函數。如果需要,可以從http://www2.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32-standard-peripheral-libraries/stsw-stm32065.html#下載。

如果使用標準外設庫,我們可以根據標準外設庫中的system_stm32f4xx.c文件中的代碼分析可知:

#if defined(STM32F40_41xxx) || defined(STM32F427_437xx) || defined(STM32F429_439xx) || defined(STM32F401xx) || defined(STM32F469_479xx)
 #define PLL_M      25
#elif defined (STM32F446xx)
 #define PLL_M      8
#elif defined (STM32F410xx) || defined (STM32F411xE)
 #if defined(USE_HSE_BYPASS)
  #define PLL_M      8    
 #else /* !USE_HSE_BYPASS */
  #define PLL_M      16
 #endif /* USE_HSE_BYPASS */
#else
#endif
#if defined (STM32F40_41xxx)
#define PLL_N      336
/* SYSCLK = PLL_VCO / PLL_P */
#define PLL_P      2
#endif
#if defined(STM32F40_41xxx)
  uint32_t SystemCoreClock = 168000000;
#endif

根據編程手冊關于時鐘寄存器的內容,可知

PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N 

SYSCLK=PLL_VCO/PLL_P

式中,HSE_VALUE表示單片機外接晶振的頻率,HSI_VALUE表示單片機內部振蕩器的頻率,本實驗板使用的是外部25MHz的晶振,根據程序中的配置,我們可以計算出SystemCoreClock =168000000。


向AI問一下細節

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

AI

深州市| 汉川市| 昂仁县| 龙泉市| 习水县| 错那县| 蓬莱市| 桐庐县| 灵石县| 揭东县| 辽中县| 邻水| 慈溪市| 广州市| 和顺县| 滕州市| 万宁市| 阜城县| 温州市| 瑞昌市| 万山特区| 公主岭市| 突泉县| 建湖县| 法库县| 崇文区| 长武县| 永川市| 安义县| 吉林省| 囊谦县| 昌都县| 依兰县| 新龙县| 当阳市| 高尔夫| 亳州市| 康保县| 临夏市| 阳信县| 甘泉县|