请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC430F5137 主题中讨论的其他器件: CC430F5147
以下代码会导致具有 CC430F5137的 LPM3中的高电流消耗(100uA)。 与 CC430F5147相同的代码具有4.3uA 的更正常功耗。 它是 WOR 和 TA0中 RF1的组合。 禁用任一器件、CC430F5137会降至4.3uA。 同时删除//TA0CCTL0 |= CCIE;(* 1)将电流降至4.3uA。
我缺少什么?
void main( void ) { WDTCTL = WDTPW | WDTHOLD | WDTCNTCL; P1OUT = 0x00; P1DIR = 0xff; P1IES = 0x00; P2OUT = 0x80; P2DIR = 0xdf; P2IES = 0x00; P3OUT = 0x00; P3DIR = 0xff; P5OUT = 0x00; P5DIR = 0x03; PJOUT = 0x00; PJDIR = 0xff; PMMCTL0_H = 0xA5; SVSMHCTL = 0; SVSMLCTL = 0; //SVSLFP; PMMCTL0_H = 0x00; // TA0 TA0CTL = TASSEL__ACLK | TACLR | ID__4; TA0EX0 = TAIDEX_1; TA0CTL |= MC__CONTINUOUS; PMMCTL0_H = 0xA5; PMMCTL0_L = 0; PMMHPMRE_L; // PMMHPMRE_L=52uA, 0=200uA PMMCTL0_H = 0x00; // RF1, Init WOR strobe_command(RF_SRES); strobe_command(RF_SNOP); strobe_command(RF_SCAL); strobe_command(RF_SIDLE); strobe_command(RF_SRX); strobe_command(RF_SWOR); // TA0, Start stop TA0CCR0 = TA0R+200; TA0CCTL0 |= CCIE; // *1 cc430f5137: With 85uA, Without 4,4uA / cc430f5147: With or Withoout 4,3uA __bis_SR_register(GIE); __bis_SR_register(LPM3_bits); P3DS = 0x80; // LED Strong drive P3OUT = 0x80; // LED On while(1); } static void __attribute__((__interrupt__(TIMER0_A0_VECTOR))) _io_timerA0_ISR0 (void) //CC0 { TA0CCTL0 &= ~(CCIE|CCIFG); }