您的位置 首页 观点

PIC16位单片机CAN(2)完全弄懂时钟

一直以来写程序都是看参考资料和书,这次的16位单片劫dsPIC33EP32GP502没有一点资料。因此趁机也好好深入学习一下!首先看振荡器的选择吧。…

一直以来写程序都是看参考材料和书,这次的16位单片劫dsPIC33EP32GP502没有一点材料。因而趁机也好好深入学习一下!首要看振荡器的挑选吧。

首要看一下时钟框图
咱们运用的是外部晶振,所以装备为HS,FCY是CPU时钟,FP是外设时钟,FCY=FP(除打盹形式外)。FCY=Fosc/2。也便是cpu时钟是晶振频率的1/2。下面还有分频。DOZE<2:0>:011 = FCY 被 8 分频 (默许)处理器时钟分频比挑选位。
因而实践的FCY=0.5MHz(运用8M的外部晶振,并八分频8/2/8=0.5MHz)。

看一下振荡器挑选装备位的阐明:

这儿咱们需求看的是FOSCSEL装备位 第二列是寄存器地址,需求设置的是IESO<7>和FNOSC<2:0>

看一下头文件p33EP32GP502.h里边的阐明:
/*Register FOSCSEL (0x57f8) */
extern __attribute__((space(prog))) int _FOSCSEL;
#define _FOSCSEL(x) __attribute__((section(“__FOSCSEL.sec”),space(prog))) int _FOSCSEL = (x);
/*
** Only one invocation of FOSCSEL should appear in a project,
** at the top of a C source file (outside of any function).
**
** The following constants can be used to set FOSCSEL.
** Multiple options may be combined, as shown:
**
** _FOSCSEL( OPT1_ON & OPT2_OFF & OPT3_PLL )
**
** Oscillator Source Selection:
** FNOSC_FRC Internal Fast RC (FRC)
** FNOSC_FRCPLL Fast RC Oscillator with divide-by-N with PLL module (FRCPLL)
** FNOSC_PRI Primary Oscillator (XT, HS, EC)
** FNOSC_PRIPLL Primary Oscillator with PLL module (XT + PLL, HS + PLL, EC + PLL)
** FNOSC_LPRC Low-Power RC Oscillator (LPRC)
** FNOSC_FRCDIVN Internal Fast RC (FRC) Oscillator with postscaler
**
** Two-speed Oscillator Start-up Enable bit:
** IESO_OFF Start up with user-selected oscillator source
** IESO_ON Start up device with FRC, then switch to user-selected oscillator source
**
*/
#define FNOSC_FRC 0xFFF8
#define FNOSC_FRCPLL 0xFFF9
#define FNOSC_PRI 0xFFFA
#define FNOSC_PRIPLL 0xFFFB
#define FNOSC_LPRC 0xFFFD
#define FNOSC_FRCDIVN 0xFFFF
#define IESO_OFF 0xFF7F
#define IESO_ON 0xFFFF
由头文件得知
1:Register FOSCSEL (0x57f8),也便是寄存器地址是0x57f8,和表格共同。
2:_FOSCSEL(FNOSC_PRI&IESO_OFF); 咱们在程序最初由此句来声明咱们的装备位是0XFFFA&0XFF7F=0XFF7A
也便是FOSCSEL=0XFF7A 依据寄存器阐明得知咱们的装备是外部HS振荡器并运用用户挑选的振荡器源发动器材
3:装备位仅仅阐明运用的振荡器,并不设置分频比DOZE。因而DOZE仍是默许的8分频。
总结:装备时钟有以下几个方面:
1:装备相应的装备位挑选时钟源是内部时钟仍是外部晶振等。
2:装备相应的寄存器挑选分频比。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/272438.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部