MSP430团队、
客户正在使用自己的硬件和 MSP430FR2111。 他们在代码中将 MSP430设置为 LPM3、测量值约为16uA、但他们希望得到2uA、正如数据表中所说的那样。 它们还使用 LMP3_02进行了测试、结果相同。
您能否确认 LPM3_02等软件示例应该能够降至2uA?
谢谢、
Darren
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
MSP430团队、
客户正在使用自己的硬件和 MSP430FR2111。 他们在代码中将 MSP430设置为 LPM3、测量值约为16uA、但他们希望得到2uA、正如数据表中所说的那样。 它们还使用 LMP3_02进行了测试、结果相同。
您能否确认 LPM3_02等软件示例应该能够降至2uA?
谢谢、
Darren
您好 Darren、
请使用外部 LFXT 尝试此 LPM3代码:
#include <msp430.h> int main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer SFRIE1 |= WDTIE; // Enable WDT interrupt P2SEL1 |= BIT6 + BIT7; // P2.0: XOUT; P2.1: XI1 CSCTL4 = SELMS__DCOCLKDIV | SELA__XT1CLK; // MCLK=SMCLK=DCO; ACLK=XT1 // Port Configuration all un-used pins to output low P1OUT = 0x00; P2OUT = 0x00; P1DIR = 0xff; P2DIR = 0xff; // Disable the GPIO power-on default high-impedance mode // to activate previously configured port settings PM5CTL0 &= ~LOCKLPM5; do { CSCTL7 &= ~(XT1OFFG | DCOFFG); // Clear XT1 and DCO fault flag SFRIFG1 &= ~OFIFG; }while (SFRIFG1 & OFIFG); // Test oscillator fault flag // Configure RTC // Interrupt and reset happen every 1024/32768 * 32 = 1 sec. RTCMOD = 32-1; RTCCTL = RTCSS__XT1CLK | RTCSR |RTCPS__1024; // RTCCTL |= RTCIE; __bis_SR_register(LPM3_bits | GIE); // Enter LPM3 __no_operation(); // For debug } //#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) //#pragma vector = RTC_VECTOR //__interrupt void RTC_ISR(void) //#elif defined(__GNUC__) //void __attribute__ ((interrupt(RTC_VECTOR))) RTC_ISR (void) //#else //#error Compiler not supported! //#endif //{ // switch(__even_in_range(RTCIV, RTCIV_RTCIF)) // { // case RTCIV_NONE : break; // No interrupt pending // case RTCIV_RTCIF: // RTC Overflow // // Toggle LED on P1.0 // P1OUT ^= BIT0; // break; // default: break; // } //}
并将测试结果附在我的一侧:
谢谢!
此致
Johnson