久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1988|回復: 0
打印 上一主題 下一主題
收起左側

STM32時鐘樹系統淺析

[復制鏈接]
跳轉到指定樓層
樓主
本帖主要是討論stm32F103系列IC,同類的stm32的時鐘樹系統與F103系列相差不大,可做參考由于本人能力有限,難免會出現錯誤,歡迎批評指正!!!

時鐘是一顆ic的心臟,為程序執行提供基礎步調;可以說,一個單片機的性能強不強,與時鐘頻率直接掛鉤;
下面我們現在簡單介紹一下STM32F103系列的時鐘樹,參考附件截圖;

STM32F10xxx參考手冊RCC章節中可以看出,時鐘樹包含兩個外部輸入時鐘,一個外部輸出時鐘和兩個內部振蕩時鐘;
兩個外部輸入時鐘分別是:HSE,LSE
一個外部輸出時鐘是:MCO
兩個內部振蕩時鐘分別是:HSI,LSI
還包含了PLL鎖相環和預分頻器,這些共同組成了整個F103的時鐘樹系統;

我該如何配置時鐘呢?以打開gpio時鐘為例:
第一步:等待HSE,LSE,HSI,LSI起振,起振成功之后,配置PLL Source和PLL MUL;
第二步:設置SYSCLK Source,可以默認設置PLL;
第三步:設置AHB總線預分頻系數,使其總線頻率不超過72MHZ;
第四步:設置APB1和APB2總線預分頻系數,使其總線頻率不超過最大總線頻率72MHZ和36MHZ;
第五步:打開GPIO時鐘使能,使其能正常工作;



這樣我就配置好了一個時鐘,下面是代碼示例:
  1. /* enable lse clock*/
  2. hw_rcc_set_lse_enable(true);
  3. hw_rcc_lse_wait_ready();

  4. /* enable lsi clock */
  5. hw_rcc_set_lsi_enable(true);
  6. hw_rcc_lsi_wait_ready();

  7. /* enable hse clock */
  8. hw_rcc_set_hse_enable(true);
  9. hw_rcc_hse_wait_ready();

  10. /* open hsi clock */
  11. hw_rcc_set_hsi_enable(true);
  12. hw_rcc_hsi_wait_ready();

  13. /* configure pll clock source */
  14. rcc_set_pll_multiplication_factor(clock->pll_mul);
  15. rcc_set_pll_source(clock->pll_source);

  16. /* enable pll clock */
  17. hw_rcc_set_pll_enable(true);
  18. hw_rcc_pll_wait_ready();

  19. /* configure anb,apb1,apb2 prescaler */
  20. rcc_set_hpre(clock->ahb_prescaler);
  21. rcc_set_ppre1(clock->apb1_prescaler);
  22. rcc_set_ppre2(clock->apb2_prescaler);

  23. /* set system clock source */
  24. rcc_set_sysclk_source(clock->sysclk_source);

  25. /* enable gpio clock */
  26. hw_rcc_apb2periph_clock_enable(RCC_APB2ENR_IOPAEN, IOPAEN);
  27. hw_rcc_apb2periph_clock_enable(RCC_APB2ENR_IOPBEN, IOPBEN);
  28. hw_rcc_apb2periph_clock_enable(RCC_APB2ENR_IOPCEN, IOPCEN);
  29. hw_rcc_apb2periph_clock_enable(RCC_APB2ENR_IOPDEN, IOPDEN);
  30. hw_rcc_apb2periph_clock_enable(RCC_APB2ENR_IOPEEN, IOPEEN);
  31. hw_rcc_apb2periph_clock_enable(RCC_APB2ENR_IOPFEN, IOPFEN);
  32. hw_rcc_apb2periph_clock_enable(RCC_APB2ENR_IOPGEN, IOPGEN);
復制代碼

另外在時鐘樹上,發現cortex系統時鐘只有AHB時鐘的1/8,也就是說72M的系統時鐘下,內核只有9M的速度,與內核相關外設最大時鐘頻率只有9M。

配置時鐘樹,需要按照參考手冊上的來,不能超過各個總線的最大時鐘頻率的限制;
可以通過標準庫和HAL庫已經提供了相關的初始化接口,直接就可以配置到最大的速度;
也可以通過STM32CubeMX這種圖形化工具自己來配置各個時鐘,直接生成代碼;

51hei截圖20230806174949.png (296.38 KB, 下載次數: 109)

51hei截圖20230806174949.png

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美网站 | 中文在线字幕观看 | 国产欧美精品一区二区三区 | 中文一区二区 | 国产精品一二三区 | 欧美一区二区三区在线观看视频 | 成年在线观看 | 欧美日韩成人在线观看 | 国产欧美在线 | 黄色片免费 | 午夜视频在线看 | 成年人免费在线观看 | 国产精品视频久久久 | 成年网站在线观看 | 激情福利视频 | 国产黄色在线播放 | 成人在线免费观看视频 | 中文字幕第2页 | 欧美精品区 | 国产毛片毛片 | 日韩欧美黄色片 | 欧美专区在线观看 | 欧美激情一区二区三区 | 国产成人99久久亚洲综合精品 | 国产乡下妇女做爰视频 | 欧美天堂在线 | 国产午夜三级一区二区三 | 欧美二三区| 成人看片网 | 久久精品日韩 | 国产偷自拍 | 久久精品福利视频 | 日韩成人免费 | 伊人操| 五月天婷婷综合网 | 欧美韩日 | 一区二区精品在线 | 高清一级片 | 国产精品天美传媒入口 | 伊人久久精品视频 | 99久久综合|