程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 認識STM32的系統時鐘,認識STM32系統時鐘

認識STM32的系統時鐘,認識STM32系統時鐘

編輯:關於C語言

認識STM32的系統時鐘,認識STM32系統時鐘


STM32共有五個時鐘源,分別是:

  • HSI是高速內部時鐘、RC振蕩器,頻率為8MHz;
  • HSE是高速外部時鐘,頻率范圍為4~6MHz; (可接石英/陶瓷諧振器或者接外部時鐘源)
  • LSI是低速內部時鐘,頻率40kHz; (獨立看門狗時鐘源、可作RTC時鐘源)
  • LSE是低速外部時鐘,頻率為32.768kHz石英晶體; (主要RTC時鐘源)
  • PLL是鎖相環倍頻輸出,頻率可選擇為HSI/2、HSE或者HSE/2、倍頻可選擇2~16倍,但其輸出頻率最大不超過72MHz;

      此處重點介紹系統時鐘,一般其他所有的外設時鐘的來源都是SYSCLK,SYSCLK通過AHB分頻器分頻之後送給各個模塊使用。這些模塊中包括APB1和APB2分頻器。

  • 送給APB1分頻器,輸出一路供APB1外設使用(最大頻率為36MHz),另一路送給定時器(Timer)2、3、4倍頻器使用;
  • 送給APB2分頻器,輸出一路供APB2外設使用(最大頻率為72MHz),另一路送個定時器(Timer)1倍頻使用;

      具體如下表:

APB外設內容表 名稱 類型     外設內容 APB1 低速外設

電源接口、備份接口、CAN、USB、I2C1、I2C2、UART2、UART3等

APB2 高速外設 UART1、SPI1、Timer1、ADC1、ADC2、普通IO口(PA~PE)、第二功能IO口等

      以上的時鐘輸出中很多都是帶使能控制的,例如:

            RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOG, ENABLE);

是對PD和PG口進行時鐘使能。

      STM32時鐘系統配置初始化有函數Sys-temInit()之外,其它的配置在stm32f10x-rcc.h文件之中。

      對於系統時鐘默認的情況下在SystemInit函數的SetSysClock()函數中判斷的,具體如下:

      static void SetSysClock(void)
       {
         #ifdef SYSCLK_FREQ_HSE
         SetSysClockToHSE();
         #elif defined SYSCLK_FREQ_24MHz
         SetSysClockTo24();
         #elif defined SYSCLK_FREQ_36MHz
         SetSysClockTo36();
         #elif defined SYSCLK_FREQ_48MHz
         SetSysClockTo48();
         #elif defined SYSCLK_FREQ_56MHz
         SetSysClockTo56();
         #elif defined SYSCLK_FREQ_72MHz
         SetSysClockTo72();
         #endif
       }

這段代碼是判定系統宏定義的時鐘是多少,然後設置相應的值,系統默認為72MHz:

                                   #define SYSCLK_FREQ_72MHz  72000000

如果需要設置其他頻率的時鐘,只需要在stm32f10x-rcc.c文件的第115行注釋掉上面代碼,加入將需要的頻率代碼即可。

      在SystemInit()函數中設置的系統時鐘的大小如下:

                  • SYSCLK(系統時鐘)=72MHz;
                  • AHB總線時鐘(使用系統時鐘)=72MHz;
                  • APB1總線時鐘(PCLK1)=36MHz;
                  • APB2總線時鐘(PCLK2)=72MHz;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved