PIC24HJ64GP502学习笔记(八)时钟配置/代码实现

0、在MPLAB X IDE V6.15的Production-->Set Connfig...中可以配置时钟相关寄存器并自动生成代码。如下图

1、时钟源选择:8选一,不再赘述,参考PIC24HJ64GP502学习笔记(六)时钟配置

2、启动时钟原选择:ON为内部FRC启动转交用户配置,OFF为直接采用用户配置

3、FOSC配置FOSCMD

FOSCMD有三四个选项,分别为NONE,外部高速晶振HS(10-40M),外部中速晶振(4-10M),和外部时钟源EC,只有当上述1时钟源选择PRI的参数时,本参数才起作用。

4、FOSC配置OSCIOFNC

OSCIOFNC用于配置OSC引脚是作为IO使用还是作为时钟输出使用,大多数情况下选择ON,作为IO使用,具体依自己情况决定。

5、FOSC配置IOLIWAY

IOLIWAY仅在PIC24HJXXXGPX02/04中有效,PIC24HJXXXGPX06无此配置,此处用来定义是否可以多次更改IO的配置,建议设置为OFF即允许多次修改,以防止后期配置出现错误。

6、FOSC配置FCKSM

FCKSM用来控制是否允许更改时钟源和是否开启监控时钟(LPRC),有san个选项:CSDCMD即禁止切换时钟源并且禁止监控时钟运行,CSDCME即禁止切换时钟源但是允许监控时钟故障,CSECME即允许切换时钟源并且允许监控时钟故障,建议配置成CSECME,LPRC会在切换时钟故障时切换回内部时钟(带PLL的FRC)。

7、设置完以上参数后,点击“输出生成源代码”,IDE 会自动生产代码,如下所示:

8、将上述方框内代码复制粘贴至main.c最前端,如下图所示,编译测试正常。

9、有些例程中用如下代码配置时钟,如果您看完了上述介绍,应该可以看明白下述代码含义。

_FOSCSEL(FNOSC_FRC);                
_FOSC(FCKSM_CSECMD & OSCIOFNC_OFF  & POSCMD_XT);     

在p24HJ64GP502.h中有如下定义,请自行理解,不在赘述:

** _FOSCSEL( OPT1_ON & OPT2_OFF & OPT3_PLL )
**
**   Oscillator Mode:
**     FNOSC_FRC            Internal Fast RC (FRC)
**     FNOSC_FRCPLL         Internal Fast RC (FRC) w/ PLL
**     FNOSC_PRI            Primary Oscillator (XT, HS, EC)
**     FNOSC_PRIPLL         Primary Oscillator (XT, HS, EC) w/ PLL
**     FNOSC_SOSC           Secondary Oscillator (SOSC)
**     FNOSC_LPRC           Low Power RC Oscillator (LPRC)
**     FNOSC_FRCDIV16       Internal Fast RC (FRC) divide by 16
**     FNOSC_LPRCDIVN       Internal Fast RC (FRC) with divide by N
**
**   Internal External Switch Over Mode:
**     IESO_OFF             Start-up device with user-selected oscillator source
**     IESO_ON              Start-up device with FRC, then automatically switch to user-selected oscillator source when ready

** _FOSC( OPT1_ON & OPT2_OFF & OPT3_PLL )
**
**   Primary Oscillator Source:
**     POSCMD_EC            EC Oscillator Mode
**     POSCMD_XT            XT Oscillator Mode
**     POSCMD_HS            HS Oscillator Mode
**     POSCMD_NONE          Primary Oscillator Disabled
**
**   OSC2 Pin Function:
**     OSCIOFNC_ON          OSC2 pin has digital I/O function
**     OSCIOFNC_OFF         OSC2 pin has clock out function
**
**   Peripheral Pin Select Configuration:
**     IOL1WAY_OFF          Allow Multiple Re-configurations
**     IOL1WAY_ON           Allow Only One Re-configuration
**
**   Clock Switching and Monitor:
**     FCKSM_CSECME         Both Clock Switching and Fail-Safe Clock Monitor are enabled
**     FCKSM_CSECMD         Clock switching is enabled, Fail-Safe Clock Monitor is disabled
**     FCKSM_CSDCMD         Both Clock Switching and Fail-Safe Clock Monitor are disabled

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值