找回密码
 立即注册
查看: 348|回复: 6

高速PLL配置问题,配置出错

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-17 23:22:52

2

主题

14

回帖

110

积分

注册会员

积分
110
发表于 2024-4-26 14:29:06 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 电子小陈 于 2024-4-26 14:36 编辑

/*******************************************************************************
* 函数名  : ClockInit
* 描述    : 系统时钟设置函数
* 输入    : 无
* 输出    : 无
* 返回    : 无
* 说明    : //11.0592 * 12 = 132.7104 / 4 = 33.1776M
*******************************************************************************/
void ClockInit(void )//11M倍频至132M/4,132M给PWM,33M给系统
{
        CKCON = 0X00;
        WTST = 0X00;
        CLKSEL |= 0X80;
        USBCLK &= ~0X60;
////        USBCLK |= 0X00;
        USBCLK |= 0X80;
        Delay_ms(1);
        CLKDIV = 0X04;
        CLKSEL &= 0XF0;
//        CLKSEL |= 0X04;//死在这一句
        HSCLKDIV =0X00;
        CLKSEL &= ~0X40;
}

/*******************************************************************************
* 函数名  : Delay
* 描述    : 延时函数(ms)
* 输入    : d:延时系数,单位为毫秒
* 输出    : 无
* 返回    : 无
* 说明    : 延时是利用产生的1毫秒的计数来实现的
*******************************************************************************/
void Delay_ms(unsigned int  x)
{
        unsigned int i;

        while (x)
        {
        i = 8293UL;
        while (i) i--;
        x--;
        }
}
以上的时钟配置程序,完全按照数据手册的例程来的。
使用isp下载时选择内置预设频率11.0592,不能工作,而选择总是动态调节却能正常工作。经过逐句断点和注释定位到CLKSEL |=0x04;时出错。 Screenshot_20240426_142724_com.hihonor.photos.jpg Screenshot_20240426_142631_com.hihonor.photos.jpg Screenshot_20240426_143557_com.hihonor.photos.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2024-4-26 16:34:50 | 显示全部楼层
STC32G使用PLL时钟作为主时钟,可以参考附件例子

CPU使用PLL时钟.zip

13.99 KB, 下载次数: 60

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-17 23:22:52

2

主题

14

回帖

110

积分

注册会员

积分
110
发表于 2024-4-26 17:18:43 来自手机 | 显示全部楼层
乘风飞扬 发表于 2024-4-26 16:34
STC32G使用PLL时钟作为主时钟,可以参考附件例子

刚试了您的程序,按原来的时钟频率还是不行
但我选了22.1184M的频率,程序里PCKI做2分频就正常了,不知道是什么原因,新手调了两天都搞不清,头好大!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2024-4-26 17:36:12 | 显示全部楼层
本帖最后由 乘风飞扬 于 2024-4-26 17:37 编辑
电子*** 发表于 2024-4-26 17:18
刚试了您的程序,按原来的时钟频率还是不行
但我选了22.1184M的频率,程序里PCKI做2分频就正常了,不知道 ...

例子有段注释:选择PLL输入时钟分频, 保证输入时钟为12M
例子使用24M做主频,输入给PLL时钟,经过2分频后的时钟正好12M。
截图202404261735437738.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-17 23:22:52

2

主题

14

回帖

110

积分

注册会员

积分
110
发表于 2024-4-26 19:25:16 来自手机 | 显示全部楼层
本帖最后由 电子小陈 于 2024-4-26 20:51 编辑
乘风飞扬 发表于 2024-4-26 17:36
例子有段注释:选择PLL输入时钟分频, 保证输入时钟为12M
例子使用24M做主频,输入给PLL时钟,经过2分频后 ...


Screenshot_20240426_190617_com.hihonor.photos.jpg 刚才注释掉这行就可以了,好像分频默认是2(或者isp软件设置的?),如果我程序里设置2分频,然后我下载时选择12M和24M,pll输出的频率都是一样的!所以难道IRC不能直接出12M频率的?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-17 23:22:52

2

主题

14

回帖

110

积分

注册会员

积分
110
发表于 2024-4-26 19:30:13 来自手机 | 显示全部楼层
电子小陈 发表于 2024-4-26 19:25
刚才注释掉这行就可以了,好像分频默认是2(或者isp软件设置的?),如果我程序里设置2分频,然后我下载时 ...

但是为什么动态调整却没有影响呢?同样的程序1分频设置,动态调整却能正确输出
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-17 23:22:52

2

主题

14

回帖

110

积分

注册会员

积分
110
发表于 2024-5-5 14:23:03 | 显示全部楼层
本帖最后由 电子小陈 于 2024-5-5 14:24 编辑

https://www.stcaimcu.com/forum.php?mod=attachment&aid=NDMyMDZ8ODExY2M4OWR8MTc0NjI1NjM2NXwwfA%3D%3D
解决了,手册上写了效准好的频率并没有11M,实际上选择预置频率小于22.1184M以下的频率都是ISP软件自动设置分频寄存器的结果
截图202405051417167053.jpg
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 15:12 , Processed in 0.136579 second(s), 90 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表