STM32學習筆記之RCC
三種不同的時鐘源可被用來驅(qū)動系統(tǒng)時鐘(SYSCLK):
● HSI振蕩器時鐘
● HSE振蕩器時鐘
● PLL時鐘 這些設備有以下2種二級時鐘源:
● 40kHz低速內(nèi)部RC,可以用于驅(qū)動獨立看門狗和通過程序選擇驅(qū)動RTC。RTC用于從停機/待機模式下自動喚醒系統(tǒng)。
● 32.768kHz低速外部晶體也可用來通過程序選擇驅(qū)動RTC(RTCCLK)。 當不被使用時,任一個時鐘源都可被獨立地啟動或關閉,由此優(yōu)化系統(tǒng)功耗。
1.當HSI被用于作為PLL時鐘的輸入時,系統(tǒng)時鐘能得到的最大頻率是64MHz。
2.對于內(nèi)部和外部時鐘源的特性,請參考相應產(chǎn)品數(shù)據(jù)手冊中“電氣特性”章節(jié)。 用戶可通過多個預分頻器配置AHB、高速APB(APB2)和低速APB(APB1)域的頻率。AHB和APB2域的最大頻率是72MHz。APB1域的最大允許頻率是36MHz。SDIO接口的時鐘頻率固定為HCLK/2。
RCC通過AHB時鐘(HCLK)8分頻后作為Cortex系統(tǒng)定時器(SysTick)的外部時鐘。通過對SysTick控制與狀態(tài)寄存器的設置,可選擇上述時鐘或Cortex(HCLK)時鐘作為SysTick時鐘。ADC時鐘由高速APB2時鐘經(jīng)2、4、6或8分頻后獲得。
定時器時鐘頻率分配由硬件按以下2種情況自動設置: 1. 如果相應的APB預分頻系數(shù)是1,定時器的時鐘頻率與所在APB總線頻率一致。 2. 否則,定時器的時鐘頻率被設為與其相連的APB總線頻率的2倍。
void RCC_Configuration(void)
{
SystemInit();
RCC_APB2PeriphClockCmd(USARTy_GPIO_CLK | USARTz_GPIO_CLK | RCC_APB2Periph_AFIO, ENABLE);
#ifndef USE_STM3210C_EVAL
RCC_APB2PeriphClockCmd(USARTy_CLK, ENABLE);
#else
RCC_APB1PeriphClockCmd(USARTy_CLK, ENABLE);
#endif
RCC_APB1PeriphClockCmd(USARTz_CLK, ENABLE);
}
評論