pll倍频作为主时钟输出
本帖最后由 东风 于 2024-1-25 17:30 编辑使用STC32G12K128,配置使用外部晶振倍频
CLKSEL &= ~CKMS; //选择PLL的96m作为pll的输出时钟
USBCLK |= PCKI_D1; //输入时钟1分频
//???ˉPLL
USBCLK |= ENCKM; //使用pll倍频
delay_ms(1); //等待pll锁频
CLKDIV = 16; //分频
CLKSEL &= ~MCKSEL_MSK;
CLKSEL &= ~MCK2SEL_MSK;
CLKSEL |= MCKSEL_XOSC; //选择外部8M晶振
CLKSEL |= MCK2SEL_PLLD2; //pll输出2分频后作为主时钟
为什么p5.4脚输出是这个频率,怎么测试主时钟或者系统时钟多少
注意 给 STC32G12K128的 CPU 工作的时钟不能超过35MHz
本帖最后由 东风 于 2024-1-26 10:14 编辑
把代码改成这样
CLKSEL &= ~CKMS; //选择PLL的96m作为pll的输出时钟
USBCLK |= PCKI_D1; //输入时钟1分频
//
USBCLK |= ENCKM; //使用pll倍频
delay_ms(1); //等待pll锁频
CLKDIV = 0x04; //分频
CLKSEL &= ~MCKSEL_MSK;
CLKSEL &= ~MCK2SEL_MSK;
CLKSEL |= MCKSEL_XOSC; //选择外部8M晶振
CLKSEL |= MCK2SEL_PLL; //pll输出作为主时钟
测下来频率22m,反推的话主时钟应该是88m,不是96m输入,虽然主频最高36m,,怎么不一样
你直接将 高速IRC 烧录时设定到 35MHz 给 CPU 使用,
PLL输入源用 35M/4 = 8.75MHz
PLL时钟输出用8.75MHz * 12 = 105MHz 给 PWM 使用 我们项目对温度有要求,需要用外部晶振 东风 发表于 2024-1-26 13:35
我们项目对温度有要求,需要用外部晶振
话说不同温度下内部晶振会差很多么?测试过么 _奶咖君_ 发表于 2024-1-26 13:38
话说不同温度下内部晶振会差很多么?测试过么
不用测,厂家手册中有IRC温漂图,查手册就可以. 神农鼎 发表于 2024-1-26 09:47
红色2那个位置上的频率如果不是12MHz(例如只有8MHz),后面能正常输出8倍频(例如64MHz)吗?
PLL的时钟输入范围是:8MHz ~ 16MHz,
可以 *8 或 *12,
PLL的时钟输输出范围是:64MHz ~ 192MHz
页:
[1]
2