There are a few things I'm not sure about regarding STANDBY mode. The datasheet says ''All the I/Os belonging to the kernel are forced into High Impedance''. Does that mean ALL I/O pins, or are there exceptions (e.g. EMI, pins configured as Alternate Functions, etc.) ? Also, it says that the system RAM is cleared. What happens to the internal registers ? Do they all retain their values, or are some reset to the default values (e.g. I/O pins config, clock config...) ? Basically, I want to be able to power-down my system by software, and restart it with the WAKEUP pin. I'm thinking about doing the following : * On power-down : - switch to the 32 kHz oscillator - power-down my external oscillator (connected to the CK pin) - activate the STANDBY mode * On wake-up : - switch back to the external oscillator - restart the program Is this going to work as expected ? Any info will be greatly appreciated ! :D
The STANDBY sequence is initiated either: – by setting the PWRDWN bit in the PCU_PWRCR register (software STANDBY entry) – or by externally forcing the nSTDBY pin to ‘0’ (hardware STANDBY entry). Caution: You have to manage the nSTDBY, WAKEUP and RESET pin states in order to enter or exit STANDBY mode (refer to the STR71x reference manual, STANDBY section). Cheers Hich ;)
Thanks for your reply. I understand how to initiate standby mode (I'll be using the software entry), but I'm still not sure about the high-impedance thing, and whether all registers values are preserved when restarting from standby. I'm currently designing a protoype board, and I'll like to be sure that my understanding is correct before finalizing the PCB :)
So if I understand correctly your reply, - All I/O pins switch to high-impedance - All registers values are preserved - Only the RAM is cleared Right ? 8-)