I use PIC16F1825 to communicate via UART (async) with external device. Running on batteries I have to spend as little power as possible.
Since my external device may transmit no data for minutes I though about putting the PIC microcontroller into SLEEP mode while waiting for data.
Unfortunately it's not simple, because asynchronous UART requires main oscillator (PIC manual). Implementing UART manually may solve the problem, if PIC would be able to recover from SLEEP quick. My PIC16F1825 device requires 1024 x Tosc to start working after SLEEP. It's way to slow :(
UART: 115200N8
My question is: How can I save considerable amount of power during the time between transmissions?
PS I can move to some other microcontroller within the same price region and packaging size (4mm x 4mm).