工具/软件:Code Composer Studio
您好,
我开始对打算用作RC5遥控器的MSP430FR2311进行编程。
我遇到的第一件事是我无法正常以8MHz运行设备。
我按如下所示初始化CS寄存器。
/*
*时钟系统寄存器:
*/
CSCTL1 = DCORSEL_1 + DISMOD;//选择DCO以8MHz运行。
/CSCTL3 = SELREF_1;//对DCO输入使用REFOCLK
/CSCTL4 =拉美;// ACLK = REFOCLK (32.768kHz),DCOCLKDIV是MCLK和SMCLK的源
/CSCTL5 = DIVS_1 + VLOAUTOOFF;// MCLK = 8MHz,SMCLK = 4MHz,不使用时VLO关闭
如您所见,我是否已注释CSCTL3-5以了解DCORSEL值的功能。
如果我将其设定为2MHz (DCORSEL = 001b)作为默认POC值,我得到的MCLK频率为1.03MHz,这是 正常的(在容差范围内?)
如果我将DCORSEL值更改为8MHz (DCORSEL = 011b),MCLK频率将停止在3.44MHz。
我通过将TIMER_0B设置为DI100计数器来测量输出频率,并在Pin WFP测量输出频率1.7 ,即MCLK/SMCLK的1/00
我检查了CS寄存器,发现CSCTL7中的位指示DCOERROR,DCO超出范围。 低于寄存器读数,用于1MHz和8MHz设置
你知道我在这里做错了什么吗?
1MHz设置CS寄存器值
8MHz设置CS寄存器值