完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
各位盟友请教一个问题!我最近在学习新唐的cortex-m0这款单片机遇到一个棘手的问题。我想把单片机系统时钟设置到48M去工作可是总是测试的时候是12M一直没有成功而且在用到while(!(SYSCLK->CLKSTATUS.PLL_STB));这条语句的时候一直跳不过去!下面我把我配置的代码贴出来麻烦大家帮忙看看!谢谢!
UNLOCKREG(); SYSCLK->PWRCON.XTL12M_EN = 1; while(!(SYSCLK->CLKSTATUS.XTL12M_STB)); SYSCLK->PLLCON.PLL_SRC = 1; SYSCLK->PLLCON.OE = 0; SYSCLK->PLLCON.PD = 0; SYSCLK->PLLCON.OUT_DV = 3; SYSCLK->PLLCON.IN_DV = 1; SYSCLK->PLLCON.FB_DV = 46; SYSCLK->CLKSEL0.HCLK_S = 2; while(!(SYSCLK->CLKSTATUS.PLL_STB)); LOCKREG(); |
|
相关推荐
1个回答
|
|
|
首先,确认一下你使用的是正确的时钟源,并且时钟源的稳定时间已经超过了指定的时间(XTL12M_STB状态已经为1)。其次,检查一下你的PLL设置是否正确,包括PLL源选择、输出分频数和倍频数。最后,确认一下在时钟转换期间是否产生了中断,导致程序无法正常运行。建议在PLL启动前先关闭中断,等PLL启动后再打开中断。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1022 浏览 1 评论
1852 浏览 0 评论
1833 浏览 1 评论
3258 浏览 5 评论
3585 浏览 9 评论
1026浏览 1评论
1853浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1365浏览 1评论
1856浏览 0评论
1181浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 22:04 , Processed in 0.754010 second(s), Total 74, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4791