[技术问答]

Nu-Tiny-EVB_120 V1.0 设置时钟失败

[复制链接]
1001|4
手机看帖
扫描二维码
随时随地手机跟帖
bynce|  楼主 | 2015-10-5 16:10 | 显示全部楼层 |阅读模式
使用库版本:NUC100_120BSPv3.00.002

void Init_clock(void)
{
    /*---------------------------------------------------------------------------------------------------------*/
    /* Init System Clock                                                                                       */
    /*---------------------------------------------------------------------------------------------------------*/

    /* Enable Internal RC 22.1184MHz clock */
    CLK_EnableXtalRC(CLK_PWRCON_OSC22M_EN_Msk);

    /* Waiting for Internal RC clock ready */
    CLK_WaitClockReady(CLK_CLKSTATUS_OSC22M_STB_Msk);

    /* Switch HCLK clock source to Internal RC and HCLK source divide 1 */
    CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_HIRC, CLK_CLKDIV_HCLK(1));

    /* Enable external XTAL 12MHz clock */
    CLK_EnableXtalRC(CLK_PWRCON_XTL12M_EN_Msk);

    /* Waiting for external XTAL clock ready */
    CLK_WaitClockReady(CLK_CLKSTATUS_XTL12M_STB_Msk);
   

    /* Set core clock as PLL_CLOCK from PLL */
    CLK_SetCoreClock(PLL_CLOCK);

    /* Select HCLK as the clock source of SPI0 */
    CLK_SetModuleClock(SPI0_MODULE, CLK_CLKSEL1_SPI0_S_HCLK, MODULE_NoMsk);

    /* Enable SPI0 peripheral clock */
    CLK_EnableModuleClock(SPI0_MODULE);
}



CLK_WaitClockReady(CLK_CLKSTATUS_OSC22M_STB_Msk);   
此函数会溢出

/* Switch HCLK clock source to Internal RC and HCLK source divide 1 */
CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_HIRC, CLK_CLKDIV_HCLK(1));
此函数会死循环
主要卡在此处
    /* Switch to HIRC for Safe. Avoid HCLK too high when applying new divider. */
    CLK->;PWRCON |= CLK_PWRCON_OSC22M_EN_Msk;
    while((CLK->CLKSTATUS & CLK_CLKSTATUS_OSC22M_STB_Msk) == 0);
Howard16| | 2015-10-6 10:46 | 显示全部楼层
看起來是內部HIRC 22MHz沒有振起來
會不會是這個函式沒有下
/* Unlock protected registers */
    SYS_UnlockReg();

晶振的暫存器都有保護,要先解鎖才能設定

使用特权

评论回复
734774645| | 2015-10-8 10:17 | 显示全部楼层
配置寄存器,第一步解锁,修改后锁定生效

使用特权

评论回复
lovecat2015| | 2015-10-8 13:30 | 显示全部楼层
先解锁吧,不知道楼主有没有这一步

使用特权

评论回复
ccw1986| | 2015-10-9 07:54 | 显示全部楼层
设置寄存器的时候要注意第一步要解锁

使用特权

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

本版积分规则

1

主题

1

帖子

0

粉丝