真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

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

成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,先為南召等服務建站,南召等地企業(yè),進行企業(yè)商務咨詢服務。為南召企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

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

如果使用標準外設庫,我們可以根據(jù)標準外設庫中的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

根據(jù)編程手冊關于時鐘寄存器的內(nèi)容,可知

PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N 

SYSCLK=PLL_VCO/PLL_P

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


分享標題:STM32F4xx那點事(二)——系統(tǒng)時鐘的配置
當前地址:http://weahome.cn/article/pjjhdg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部