×
嵌入式 > 技术百科 > 详情

MSP430学习笔记——头文件解析之时钟模块寄存器

发布时间:2020-06-01 发布时间:
|
#define __MSP430_HAS_BC2__            
 
#define DCOCTL_             (0x0056u)  
DEFC(   DCOCTL            , DCOCTL_)    -DCO控制寄存器
#define BCSCTL1_            (0x0057u)  
DEFC(   BCSCTL1           , BCSCTL1_)  -基本时钟系统控制寄存器1
#define BCSCTL2_            (0x0058u)  
DEFC(   BCSCTL2           , BCSCTL2_)  -基本时钟系统控制寄存器2
#define BCSCTL3_            (0x0053u)  
DEFC(   BCSCTL3           , BCSCTL3_)  -基本时钟系统控制寄存器3
-DCOCTL
 -
7-------6-------5----|----4-------3-------2-------1-------0
 
-------DCOx---------|-------------MODx------------------
  
-MODx
#define MOD0                (0x01)  
#define MOD1                (0x02)  
#define MOD2                (0x04)  
#define MOD3                (0x08)  
#define MOD4                (0x10) 
-DCOx
#define DCO0                (0x20)  
#define DCO1                (0x40)  
#define DCO2                (0x80)  
 
-BCSCTL1
 -
7--------|---6-----|------5------4----|------3-----|-----2------1-------0---
 
XT2OFF-|-XTS----|-----DIVAx-------|-----------------RSELx---------------
  
 -RSELx占4位,16位不同的频率范围
#define RSEL0               (0x01)  
#define RSEL1               (0x02)  
#define RSEL2               (0x04)  
#define RSEL3               (0x08)  
-DIVAx 控制ACLK的分频。
#define DIVA0               (0x10)  
#define DIVA1               (0x20)  
#define XTS                    (0x40) -控制LFXT1工作模式,选择需结合晶体振荡器的连接情况
     XTS=0,工作在低频模式,默认低频模式,XTS=1外接相应高频时钟源
#define XT2OFF              (0x80) -控制XT2振荡器的开启与关闭,关闭为1,默认关闭
 
#define DIVA_0              (0x00)  
#define DIVA_1              (0x10)  
#define DIVA_2              (0x20)  
#define DIVA_3              (0x30)  
-BCSCTL2
 -
7-----------6-----|------5------4----|------3-----|-----2------1----|---0---
------SELMx-----|--------DIVMx----|---SELS----|-----DIVSx------|---DCOR
  
#define DIVS0               (0x02)  
#define DIVS1               (0x04)  
#define SELS                (0x08)  
#define DIVM0               (0x10)  
#define DIVM1               (0x20)  
#define SELM0               (0x40)  
#define SELM1               (0x80)  
 
#define DIVS_0              (0x00)  
#define DIVS_1              (0x02)  
#define DIVS_2              (0x04)  
#define DIVS_3              (0x06)  
 
#define DIVM_0              (0x00)  
#define DIVM_1              (0x10)  
#define DIVM_2              (0x20)  
#define DIVM_3              (0x30)  
 
#define SELM_0              (0x00) -DCOCLK
#define SELM_1              (0x40) -DCOCLK 
#define SELM_2              (0x80) 
-当XT2振荡器在芯片上,选XT2CLK;当XT2振荡器不存在时,选用LFXT1CLK或VLOCLK
#define SELM_3              (0xC0)-LFXT1CLK或VLOCLK  
 
#define LFXT1OF             (0x01)  
#define XT2OF               (0x02)  
#define XCAP0               (0x04)  
#define XCAP1               (0x08)  
#define LFXT1S0             (0x10)  
#define LFXT1S1             (0x20)  
#define XT2S0               (0x40)  
#define XT2S1               (0x80)  
 
#define XCAP_0              (0x00)  
#define XCAP_1              (0x04)  
#define XCAP_2              (0x08)  
#define XCAP_3              (0x0C)  
 
#define LFXT1S_0            (0x00)  
#define LFXT1S_1            (0x10)  
#define LFXT1S_2            (0x20)  
#define LFXT1S_3            (0x30)  
 
#define XT2S_0              (0x00)  
#define XT2S_1              (0x40)  
#define XT2S_2              (0x80)  
#define XT2S_3              (0xC0)  
1. LFXT1: 一次有效的PUC信号将使OSCOFF复位,允许LFXT1工作,如果LFXT1信号没有用作SMCLK或MCLK,可软件置OSCOFF关闭LFXT1.
2. XT2: XT2产生XT2CLK时钟信号,如果XT2CLK信号没有用作时钟MCLK和SMCLK,可以通过置XT2OFF关闭XT2,PUC信号后置XT2OFF,即XT2的关闭的。
3. DCO振荡器:振荡器失效时,DCO振荡器会自动被选做MCLK的时钟源。如果DCO信号没有用作SMCLK和MCLK时钟信号时,可置SCG0位关闭DCO直流发生器。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Semtech的LoRa技术携手Chipsafer将牧场连接至云端