|
|
发表于 2026-8-6 10:13:17
|
显示全部楼层
主频使用13.5MHz,13.5*8=108MHz。
CLKSEL = 0x00; //下载使用12M, PLL=12M*12=144MHz, 给FPU浮点库、PWM时钟.
// CLKSEL |= 0x80; //内部PLL倍频选择CKMS(CLKSEL.7), |=0x80: 选择12倍频PLL(144MHz), &=~0x80: 选择8倍频PLL(96MHz(默认))
USBCLK = (USBCLK &~0x60) | (0<<5); //选择PLL输入时钟分频PCKI(USBCLK[6:5]), 保证输入时钟为12M左右, 0: 1分频(对应12MHz), 1: 2分频(对应24MHz), 2: 4分频(对应48MHz), 3: 8分频(对应96MHz)
USBCLK |= 0x80; //PLL倍频控制ENCKM(USBCLK.7), |=0x80: 使能PLL倍频. &= ~0x80: 禁止PLL倍频
delay(); //等待PLL锁频
CLKDIV = 3; //主时钟分频系数, 1~255, 144/4=36MHz
CLKSEL |= 0x40; //高速IO时钟源选择HSIOCK(CLHSEL.6), |=0x40: 选择PLLCLK, &=~0x40: 选择MCLK(默认)
CLKSEL |= (1<<2); //主时钟源选择MCKSEL2(CLKSEL[3:2]), 0: 由MCKSEL选择(默认), 1: 内部PLL输出, 2: 内部PLL输出/2, 3: 内部48MHz高速IRC
CLKSEL |= 0; //主时钟源选择MCLSEL(CLKSEL[1:0]), 0: 内部高精度IRC(默认), 1: 外部高速晶振, 2: 外部32K晶振, 3: 内部32K低速IRC
HSCLKDIV = 1; //高速时钟总分频器 1~255 (默认2)
TFPU_CLKDIV = 1; //TFPU分频器 1~255
|
|