1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
/* Set core clock as PLL_CLOCK from PLL */
CLK_SetCoreClock(PLL_CLOCK); 我们经常在例子中用到这个函数,我们可以看到这个函数就是设置内核时钟的,上面这个是这种PLL作为内核时钟。 /** * @brief Set HCLK frequency * @param[in] u32Hclk is HCLK frequency * @return HCLK frequency * @Details This function set HCLK frequency. The frequency unit is Hz. The range of u32Hclk is 25 MHz ~ 50 MHz. * The register write-protection function should be disabled before using this function. */ uint32_t CLK_SetCoreClock(uint32_t u32Hclk) { uint32_t u32HIRCSTB; /* Read HIRC clock source stable flag */ u32HIRCSTB = CLK->CLKSTATUS & CLK_CLKSTATUS_OSC22M_STB_Msk; /* The range of u32Hclk is 25 MHz ~ 50 MHz */ if(u32Hclk > FREQ_50MHZ) u32Hclk = FREQ_50MHZ; else if(u32Hclk < FREQ_25MHZ) u32Hclk = FREQ_25MHZ; /* Switch HCLK clock source to HIRC clock for safe */ CLK->PWRCON |= CLK_PWRCON_OSC22M_EN_Msk; CLK_WaitClockReady(CLK_CLKSTATUS_OSC22M_STB_Msk); CLK->CLKSEL0 |= CLK_CLKSEL0_HCLK_S_HIRC; CLK->CLKDIV &= (~CLK_CLKDIV_HCLK_N_Msk); /* Configure PLL setting if HXT clock is stable */ if(CLK->CLKSTATUS & CLK_CLKSTATUS_XTL12M_STB_Msk) u32Hclk = CLK_EnablePLL(CLK_PLLCON_PLL_SRC_HXT, u32Hclk); /* Configure PLL setting if HXT clock is not stable */ else { u32Hclk = CLK_EnablePLL(CLK_PLLCON_PLL_SRC_HIRC, u32Hclk); /* Read HIRC clock source stable flag */ u32HIRCSTB = CLK->CLKSTATUS & CLK_CLKSTATUS_OSC22M_STB_Msk; } /* Select HCLK clock source to PLL */ CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_PLL, CLK_CLKDIV_HCLK(1)); /* Disable HIRC if HIRC is disabled before setting core clock */ if( u32HIRCSTB == 0 ) CLK->PWRCON &= ~CLK_PWRCON_OSC22M_EN_Msk; return u32Hclk; } 这个函数只能设置两个值,50MHz,25MHz 先将HCLK设置到HIRC,确保百分百能运行,这个时候HCLK还是22MHz 然后确认外部晶振是否正常运行,如果正常运行设置到外部晶振,然后设置PLL为50MHz, 如果晶振没有正常运行设置PLL时钟源为HIRC,同样设置PLL到50MHz 然后再将HCLK设置到PLL上去。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
791 浏览 0 评论
1151 浏览 1 评论
2527 浏览 5 评论
2860 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2710 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1069浏览 3评论
193浏览 2评论
455浏览 2评论
368浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
453浏览 1评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 23:52 , Processed in 0.968426 second(s), Total 74, Slave 55 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号