MSP430G系列时钟CALBC1_1MHZ问题

2019-08-03 19:12发布

小弟在USERGUIDE的速率图上看到BCSCTL1寄存器的RSEL=7时CPU速率大概是1M,那么我手工把这个RSEL设置成7,用串口波特率验证CPU速率确实是1M左右。
但是官方实例代码中有一行
BCSCTL1 = CALBC1_1MHZ;
(#define CALBC1_1MHZ_          (0x10FFu)  /* BCSCTL1 Calibration Data for 1MHz */)
执行完了也是1M左右,但是这个RSEL(BIT3~BIT0)明显是F而不是7。F应该对应20M左右才对。不知道是怎么搞的。另外BCSCTL寄存器是8BIT的,用0X10FFu赋值算是怎么回事呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
永远的不知
1楼-- · 2019-08-04 11:22
 精彩回答 2  元偷偷看……
永远的不知
2楼-- · 2019-08-04 13:46
楼主能给出原始例程资料吗?
century99
3楼-- · 2019-08-04 16:10
#define CALDCO_1MHZ_          (0x10FEu)
0x10FEu  结尾的u是什么意思?
shuwei_yz
4楼-- · 2019-08-04 22:05
在作如下宏定义之前,
#define CALDCO_1MHZ_          (0x10FEu)  /* DCOCTL  Calibration Data for 1MHz */
READ_ONLY DEFC( CALDCO_1MHZ      , CALDCO_1MHZ_)
#define CALBC1_1MHZ_          (0x10FFu)  /* BCSCTL1 Calibration Data for 1MHz */
READ_ONLY DEFC( CALBC1_1MHZ      , CALBC1_1MHZ_)

头文件中有一行字:
/************************************************************
* Calibration Data in Info Mem
************************************************************/
他的意思就是:存储在flash中的校准数据,0x10FFu 这些都是他们的地址

sunlinyi33
5楼-- · 2019-08-05 01:20
century99 发表于 2012-8-24 16:59
#define CALDCO_1MHZ_          (0x10FEu)
0x10FEu  结尾的u是什么意思?

很简单,如果你看看其他芯片的头文件,也会有这个符号的,应该是无符号数的意思,就像unsigned char

这里在数据后面加u,代码数据时无符号数,对于地址,都是无符号数
hawksabre
6楼-- · 2019-08-05 07:01
 精彩回答 2  元偷偷看……

一周热门 更多>