[PIC®/AVR®/dsPIC®产品] dsPIC33EP系列OSCCON解锁序列和时钟切换

[复制链接]
872|1
 楼主| gavin321 发表于 2020-6-12 09:18 | 显示全部楼层 |阅读模式
用MAPLAB X IDE 新建dsPIC33EP64GS505独立工程,然后添加main.c文件,导入p33EP64GS505.h和p33EP64GS505.glb文件到工程目录中,见下图:

在main.c文件中编写时钟配置软件,代码如下:





问题:软件执行后发现OSCCON寄存器高位COSC<2:0>=7,一直不会被改变;调试发现NOSC<2:0>值被修改为1,说明OSCCON寄存器解锁成功,但是时钟始终不能被切换




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
CoolSilicon 发表于 2020-6-12 14:32 | 显示全部楼层
用下面的这段看看, 使用FRC, 工作在60MIPS.

        /****************** Clock definitions *********************************/
    // 60 MIPS (59.88Mhz) (i.e 7.37 * (65/4))
    PLLFBD =  63;                             // M = 65    63
   
    CLKDIVbits.PLLPOST = 0;         // N2 = (2 x (PLLPOST + 1)) = 2   0
    CLKDIVbits.PLLPRE = 0;                // N1 = (PLLPRE + 2) = 2        0
   
    __builtin_write_OSCCONH(0x01);
    __builtin_write_OSCCONL(0x01);
   
    while(OSCCONbits.COSC != 0x01);
   
    while(OSCCONbits.LOCK != 1);       
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部