完善资料让更多小伙伴认识你,还能领取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上去。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
710 浏览 0 评论
1120 浏览 1 评论
2497 浏览 5 评论
2836 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2677 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
662浏览 9评论
673浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
791浏览 6评论
638浏览 5评论
681浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 10:15 , Processed in 1.286488 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号