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