Hi,
I'm trying to achive STOP3 mode power consumption as low as shown in the MC9S08SH datasheet.
It says that in STOP3 + RTC enabled it should be 1.5uA + 500nA = 2uA but currently I can achieve only 100uA.
Below I have included my code.
void main(void) { EnableInterrupts; /* enable interrupts */ /* Set all pins as output and low */ PTADD = 0xFF; PTBDD = 0xFF; PTAD = 0x00; PTBD = 0x00; /* Configure LED */ PTBDD_PTBDD2 = 1; PTBD_PTBD2 = 1; /* 1 second RTC */ RTCSC_RTCLKS = 0x00; // Internal Clock RTCSC_RTIE = 1; // Interrupt Enable RTCSC_RTCPS = 0x0F; // 10^3 /* Interrupt every 1 sec */ RTCMOD = 0x00; /* Enable STOP mode */ SOPT1_STOPE = 1; /* Disable LVD when STOP */ SPMSC1_LVDE = 1; SPMSC1_LVDRE = 1; for(;;) { __RESET_WATCHDOG(); /* Enter STOP mode */ _Stop; /* Toggle LED */ PTBD_PTBD2 = 0; WaitNms(50); PTBD_PTBD2 = 1; } }
I will appreciate any help to achieve lower power consumption.
Thanks!
Janis
已解决! 转到解答。
Hello again Janis,
Just because you can't see them doesn't mean they are not there . . .
More specifically, just because Freescale does not bond-out those pins doesn't mean that they remove them from the die. Trust me, port C is there. Just like it shows in the data-sheet. You just can't physically get to them.
Try setting port C to output, and see if your current consumption goes down. It may not be your only problem, but it is certainly one of them. If you search for power-consumption topics on this board, you will find you are not alone. There are many things that can cause higher-than-expected current consumption.
Thanks rocco!
Didn't know they put the same die in different pin count packages. Sadly, port C didn't solve the problem.
Well, I looked through some topics but couldn't find any useful information.
Janis