stm32的时钟设定-九游会j9

嵌入式 > 嵌入式开发 > 详情

stm32的时钟设定

发布时间:2025-08-11 发布时间:
|
时钟图



本文引用地址:/zixunimg/eepwimg/www.eepw.com.cn/article/201611/321735.htm


//rcc_hseconfig(rcc_hse_off); // 关闭外部时钟

//rcc_hseconfig(rcc_hse_on);//开启外部时钟


//rcc_hsicmd(enable);// 开启内部时钟

//rcc_hsicmd(disable);// 开启内部时钟

//双高级外设总线结构:高速apb(apb2)速度达到72mhz、低速apb(apb1)速度达到36mhz。

//允许用户优化外设的使用(18mhz的spi、4.5mbps的usart、72mhz的pwm定时器、18mhz触发i/o口)。



//rcc_pllconfig(rcc_pllsource_hse_div1, rcc_pllmul_8); // 使用外部时钟源f,倍频输出等于 f*8/1
//rcc_pllconfig(rcc_pllsource_hsi_div2, rcc_pllmul_8); // 使用内部时钟源f,倍频输出等于 f*8/2

void rcc_configuration(void)

{

rcc_deinit();//将外设rcc寄存器重设为缺省值(即默认值)

rcc_hseconfig(rcc_hse_on);//打开外部晶振

if(rcc_waitforhsestartup() == success) //判断起振是否成功

{

rcc_hclkconfig(rcc_sysclk_div1); //设置ahb时钟(hclk)(这时设置为=系统时钟)

rcc_pclk2config(rcc_hclk_div1); //设置高速ahb时钟(hclk2)(这时设置为=hclk)

rcc_pclk1config(rcc_hclk_div2);//设置低速ahv时钟(hclk1)(这时设置为=hclk/2)

flash_setlatency(flash_latency_2);//设置flash存储器延时时钟周期数。(设置为延时2个时钟周期)

flash_prefetchbuffercmd(flash_prefetchbuffer_enable);//使能预取指缓存

rcc_pllconfig(rcc_pllsource_hse_div1, rcc_pllmul_9);//pll的时钟来源及倍频的倍数

while(rcc_getflagstatus(rcc_flag_pllrdy) == reset) //检测pll是否就绪

{

}

rcc_sysclkconfig(rcc_sysclksource_pllclk); //设置pll为系统时钟

while(rcc_getsysclksource() != 0x08) //检测系统的时钟源是否是pll

{

}

}

rcc_apb2periphclockcmd(rcc_apb2periph_usart1 | rcc_apb2periph_gpioa, enable);//使能usart gpioa时钟

}



『本文转载自网络,九游会j9的版权归原作者所有,如有侵权请联系删除』

热门文章 更多
intel 独立显卡iris xe max亮相.性能超越mx450
网站地图