找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[NUC] 使用NUC120RD2DN,無法將CPUCLK從外部24MHZ XTAL經PLL倍頻為48MHZ

[复制链接]
跳转到指定楼层
楼主
程式設定如下,但CPUCLK一直維持在24MHZ,PLL沒有倍頻輸出

main (void)
{
    uint32_t        delayCnt;
       
    UNLOCKREG();

    SYSCLK->PWRCON.XTL12M_EN = 1;                //  24MHZ External X'TAL
    SYSCLK->PWRCON.OSC22M_EN = 1;
    SYSCLK->PWRCON.OSC10K_EN = 1;
    SYSCLK->PWRCON.XTL32K_EN = 1;
       
    for (delayCnt=0;delayCnt<100000;delayCnt++);        // Delay for clock stable

    SYSCLK->CLKSEL0.HCLK_S = 0x010;            //  HCLK clock source = PLL clock

    SYSCLK->PLLCON.PLL_SRC = 0;
    SYSCLK->PLLCON.OE = 0;                               
    SYSCLK->PLLCON.BP = 0;
    SYSCLK->PLLCON.PD = 0;
    SYSCLK->PLLCON.OUT_DV = 3;        // NO = 4
    SYSCLK->PLLCON.IN_DV = 1;                // NR = 3
    SYSCLK->PLLCON.FB_DV = 22;        // NF = 24
                                                        // PLLFOUT = FIN * NF/NR * 1/NO
                                                        //                 = 24MHZ * 24/3 * 1/4 = 48MHZ
    LOCKREG();



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具 举报

沙发
 楼主| Albert_Kuang 发表于 2021-6-26 23:33:45 | 显示全部楼层
問題找到了
我程式中的數值表示法錯誤,一直沒發現:
錯誤--> SYSCLK->CLKSEL0.HCLK_S = 0x010;         //  HCLK clock source = PLL clock
正確--> SYSCLK->CLKSEL0.HCLK_S = 0x2;            //  HCLK clock source = PLL clock

更正後,原來PLL蠻容易控制的

謝謝你的協助
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU