主题中讨论的其他部件: MSP-FET430UIF, MSP-TS430PZ100USB, MSP-EXP430FR5994
大家好,
在LPM3模式下,ACLK仍应工作。 但MSP430F6459中的以下代码表明它将关闭ACLK( XT1=32KHz的源代码)。
此外,如果我的PCBA与MSP-FET430UIF连接,ACLK也是正常的(LPM3)。
需要您的帮助。
谢谢。
此致,
SeaFesse
#include <msp430f6459.h>
void main (void)
{
WDTCTL = WDTPW | WDTHOLD; //停止WDT
P1DIR || BIT0;
P1SEL || BIT0; //WFP 1.0 --- ACLK输出
PJDIR |= BIT2;
// PJSEL &=~BIT2;
同时(BAKCTL和LOCKBAK) //解锁XT1引脚以进行操作
BAKCTL &=~(LOCKBAK);
//设置UCS
UCSCTL3 |= SELREF__XT1CLK; //设置DCO FLL参考= XT1
UCSCTL4 |=拉美_ XT1CLK; //设置ACLK = XT1
__bis_sr_register (SCG0); //禁用FLL控制回路
UCSCTL0 = 0x0000; //设置尽可能低的DCOx,MODx
UCSCTL1 = DCORSEL_5; //选择DCO范围16MHz操作
UCSCTL2 = FLLD_1 | 243; //将DCO乘数设置为8MHz
//(N + 1)* FLLRef = Fdco
//(243 + 1)* 3.2768万 = 8MHz
//设置FLL Div = fDCOCLK/2
__BIC_SR_REGISTER (SCG0); //启用FLL控制回路
//当DCO范围位已存在时,DCO的最坏情况下稳定时间
//更改的是n x 32 x 32 x f_MCLK / f_FLL_reference。 请参阅5xx中的UCS章节
// UG进行优化。
// 32 x 32 x 8 MHz/ 3.2768万 Hz = 25万 = MCLK周期,以便DCO稳定下来
__DELAY周期(25万);
//循环,直到XT1,XT2和DCO故障标志被清除
做
{
UCSCTL7 &=~(XT2OFFG | XT1LFOFFG | DCOFFG);
//清除XT2,XT1,DCO故障标志
SFRIFG1 &=~OFIFG; //清除故障标志
} 同时(SFRIFG1和OFIFG); //测试振荡器故障标志
同时(1)
{
__bis_sr_register (LPM3_bits | GIE); //输入LPM0,启用中断
__no_operation(); //用于调试器
}
}
