主题中讨论的其他部件: CC2640, MSP-TS430RGC64USB
祝你好。
我在使用MSP430F5505启用USB子系统(但未将任何设备插入USB端口)时,很难让LPM3显著降低电流消耗。
导致过大电流消耗的代码的简化版本是:
WDT_A_hold(WDT_A_BASE); // Stop watchdog timer PMM_setVCore(PMM_CORE_LEVEL_2); USBHAL_initPorts(); // Config GPIOS for low-power (output low) USBHAL_initClocks(8000000); // Config clocks. MCLK=SMCLK=FLL=8MHz; ACLK=REFO=32kHz USB_init( ); while( 1 ) { __bis_SR_register(LPM3_bits + GIE); _NOP(); }
如果我注释掉USB_init(),MCU的电流比未注释时的电流值低1mA。
在USB_init()内,对USB_determineXT2Freq()的调用是导致较高电流消耗的原因,大概是因为它启动XT2振荡器。 XT2引脚上有一个12MHz的晶体。
在调用USB_init()后,我甚至尝试调用USB_disconnect()和USB_disable(),但它没有帮助。
如何减少LPM3中的电流消耗?
谢谢你
Scott Wild