主题中讨论的其他部件: 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(); //用于调试器 } }