打印
[MM32软件]

仿真时停在while(!(RCC->CR&RCC_CR_PLLRDY));//等待PLL 这一步

[复制链接]
1436|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wellback|  楼主 | 2019-8-19 13:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在MM32 MiniBoard板上运行Demo程序时始终停在:
while(!(RCC->CR&RCC_CR_PLLRDY));//等待PLL锁定
这一步,有哪位大侠遇到过类似的情况吗?改怎样解决?
无论设置外部晶振还是内部HSI都一样。


void SetSysClockTo48_HSI()
{
    unsigned char temp=0;   
   
    RCC->CR|=RCC_CR_HSION;  
    while(!(RCC->CR&RCC_CR_HSIRDY));
    RCC->CFGR=RCC_CFGR_PPRE1_2; //APB1=DIV2;APB2=DIV1;AHB=DIV1;
   
    RCC->CFGR&=~RCC_CFGR_PLLSRC;          //PLLSRC ON
   
    RCC->CR &=~(RCC_CR_PLLON);                //清PLL//        RCC->CR &=~(7<<20);                //清PLL
   
    RCC->CR &=~(0x1f<<26);       
    RCC->CR|=(4 - 1) << 26;   //设置PLL值 2~16
   
    FLASH->ACR=FLASH_ACR_LATENCY_1|FLASH_ACR_PRFTBE;          //FLASH 1个延时周期
   
    RCC->CR|=RCC_CR_PLLON;  //PLLON
    while(!(RCC->CR&RCC_CR_PLLRDY));//等待PLL锁定     ???停在这里不动
    RCC->CFGR&=~RCC_CFGR_SW;
    RCC->CFGR|=RCC_CFGR_SW_PLL;//PLL作为系统时钟         
    while(temp!=0x02)     //等待PLL作为系统时钟设置成功
    {   
        temp=RCC->CFGR>>2;
        temp&=0x03;
    }
}       

使用特权

评论回复
沙发
liu19931020| | 2019-8-19 15:45 | 只看该作者
Debugger 用的是 Simulator?

使用特权

评论回复
板凳
huangzushuimd| | 2019-8-24 16:36 | 只看该作者
部分芯片是不带PLL功能的。

使用特权

评论回复
地板
jumpio| | 2019-8-26 16:51 | 只看该作者
问题解决了吗?我也遇到这个情况.我用的是Mm32_LQFP48_CoreBoard V1.0 2017-6-30的板子,这板子的芯片不带PLL功能吗?

使用特权

评论回复
5
drer| | 2019-9-9 14:45 | 只看该作者
时钟用的什么

使用特权

评论回复
6
gwsan| | 2019-9-9 14:47 | 只看该作者
时钟起振了吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

12

帖子

1

粉丝