[求助] 关于MSP430的DCO设置

279827164   2012-7-8 17:34 楼主

IDE :IAR FOR MSP430 5.4

 

 

根据MSP430G2553.h里面定义

 

定义1:

#define DEFC(name, address) __no_init volatile unsigned char name @ address;
#define DEFW(name, address) __no_init volatile unsigned short name @ address;
将变量name存入地址address里面

 

定义2:
#define READ_ONLY const  

 

定义3:

#define CALDCO_16MHZ_         (0x10F8u)  /* DCOCTL  Calibration Data for 16MHz */
READ_ONLY DEFC( CALDCO_16MHZ     , CALDCO_16MHZ_)
#define CALBC1_16MHZ_         (0x10F9u)  /* BCSCTL1 Calibration Data for 16MHz */
READ_ONLY DEFC( CALBC1_16MHZ     , CALBC1_16MHZ_)

 

 

在主函数里面:

DCOCTL = CALDCO_16MHZ;
BCSCTL1 = CALBC1_16MHZ;   这两个语句是设置DCO工作为16MHZ

根据我在线调试,CALDCO_16MHZ的值为0x85,然后我找不到CALDCO_16MHZ的定义值,在网上找了些资料 竟然是READ_ONLY DEFC(name,adress)将地址里面的值调用给变量name。

 

问题1:

为什么READ_ONLY DEFC( CALDCO_16MHZ     , CALDCO_16MHZ_)是将地址为CALDCO_16MHZ里面的值调用出来,根据上面的定义,看不出他又调用的功能

 

问题2:

DCO 用MODx校准,手册上面只给了个公式,谁能举个例子?

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复