Häufig gestellte Fragen
- M051-Base-Serie(95)
- M0518-Serie(97)
- M0519-Serie(43)
- M0564-Serie(1)
- Mini51-Base-Serie(90)
- Nano100/102-Base-Serie(101)
- Nano103-Base-Serie(10)
- Nano110/112-LCD-Serie(100)
- Nano120-USB-Serie(111)
- Nano130-Advanced-Serie(110)
- NUC029-Serie(94)
- NUC100/200-Advanced-Serie(102)
- NUC120/122/123/220-USB-Serie(116)
- NUC121/125-Serie(1)
- NUC126-USB-Serie(2)
- NUC130/230-CAN-Serie(103)
- NUC131-NUC1311-CAN-Serie(98)
- NUC140/240-Konnektivität-Serie(114)
常見問答
使用下列指令初始化系統時鐘源時,為什麼HCLK的時鐘源無法切換成PLL? CLK->CLKSEL0 = (CLK->CLKSEL0 & ~CLK_CLKSEL0_HCLKSEL_Msk); CLK->CLKSEL0 |= CLK_CLKSEL0_HCLKSEL_PLL; 日期:2016-12-01
問:使用下列指令初始化系統時鐘源時,為什麼HCLK的時鐘源無法切換成PLL?
CLK->CLKSEL0 = (CLK->CLKSEL0 & ~CLK_CLKSEL0_HCLKSEL_Msk);
CLK->CLKSEL0 |= CLK_CLKSEL0_HCLKSEL_PLL;
答:在執行第一行指令
CLK->CLKSEL0 = (CLK->CLKSEL0 & ~CLK_CLKSEL0_HCLKSEL_Msk);
時,HCLKSEL (CLKSEL0[2:0])將設為0x00。當HCLKSEL設為0x00時,如下圖所示,將切換HCLK的時鐘源為外部晶振。
如果此時外部晶振沒有穩定或使能,這時切換時鐘源會失敗,HCLKSEL將保持原本設定 (初始為0x07,時鐘源為HIRC)。
因此在執行第二行指令
CLK->CLKSEL0 |= CLK_CLKSEL0_HCLKSEL_PLL;
時,HCLKSEL無法正確設為PLL,HCLK無法切換成PLL。
使用者在切換時鐘源時,不但需要確認要切換的時鐘源已經穩定,並且建議使用以下方法切換時鐘源:
1. 直接寫值
CLK->CLKSEL0 = (CLK->CLKSEL0 & ~CLK_CLKSEL0_HCLKSEL_Msk) | CLK_CLKSEL0_HCLKSEL_PLL;
2. 呼叫函式
CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_PLL, CLK_CLKDIV_HCLK(2));
| 產品: | 微控制器 ,8 位元 8051 微控制器 ,低管腳 8051 系列 ,標準 8051 系列 ,Arm Cortex-M0 微控制器 ,M051 系列 ,M0518 系列 ,M0519 系列 ,Mini51 系列 ,Nano100 / 102 系列 ,Nano103 Base 系列 ,Nano110 / 112 LCD 系列 ,Nano120 USB 系列 ,Nano130 USB+LCD 系列 ,NUC029 系列 ,NUC100 / 200 系列 ,NUC120 / 122 / 123 / 220 USB 系列 ,NUC130 / 230 CAN 系列 ,NUC131/NUC1311 CAN 系列 ,NUC140 / 240 USB+CAN 系列 ,Arm Cortex-M4 微控制器 ,M451 Base 系列 ,M451M 系列 ,M452 USB 系列 ,M453 CAN 系列 ,M4TK 觸控 IC 系列 ,NUC442 / 472 系列 ,NUC505 系列 |
|---|---|
| 應用: | |
| 功能: | Peripherals,ARM,Cortex-M0,Cortex-M4,Clock Control,HIRC,HXT,PLL |