On Tue, 05 Apr 2005 13:11:08 GMT, Mike Harrison <mike@whitewing.co.uk>
wrote:
>On Tue, 05 Apr 2005 12:58:53 +0100, PigPOg <simon@capella.co.uk> wrote:
>
>>Hi all,
>>
>>Is there anyway that a PIC in sleep mode can wake-up periodically by
>>way of an internal mechanism (say, every 30 seconds), perform a short
>>routine and then re-enter Sleep again?
>>
>>I'm using a 16F505, but this has no interrupts so I was wondering if I
>>could use the internal timer to implement this function? I know the
>>wake-up on input change would suit but this would mean adding an
>>external timer and the loss of an I/O pin.
>>
>>If this is not possible with the 505, is it possible with any other
>>PIC and if so, do I still have to externally generate an interrupt
>>every 30 seconds?
>>
>>Thanks for any help,
>>Simon
>
>If you need really really low power draw, look at the nanopower devices like the 16F636 - these have
>a watchdog postscaler that allows WDT periods up to a few minutes, and have much lower watchdog
>current - about 3uA
I'll follow that up - thanks Mike.
Simon
Reply by Mike Harrison●April 5, 20052005-04-05
On Tue, 05 Apr 2005 12:58:53 +0100, PigPOg <simon@capella.co.uk> wrote:
>Hi all,
>
>Is there anyway that a PIC in sleep mode can wake-up periodically by
>way of an internal mechanism (say, every 30 seconds), perform a short
>routine and then re-enter Sleep again?
>
>I'm using a 16F505, but this has no interrupts so I was wondering if I
>could use the internal timer to implement this function? I know the
>wake-up on input change would suit but this would mean adding an
>external timer and the loss of an I/O pin.
>
>If this is not possible with the 505, is it possible with any other
>PIC and if so, do I still have to externally generate an interrupt
>every 30 seconds?
>
>Thanks for any help,
>Simon
If you need really really low power draw, look at the nanopower devices like the 16F636 - these have
a watchdog postscaler that allows WDT periods up to a few minutes, and have much lower watchdog
current - about 3uA
Reply by PigPOg●April 5, 20052005-04-05
On Tue, 05 Apr 2005 14:12:43 +0200, Wolfgang Mahringer
<yeti201@gmx.at> wrote:
>Hi Simon,
>
>PigPOg schrieb:
>> Is there anyway that a PIC in sleep mode can wake-up periodically by
>> way of an internal mechanism (say, every 30 seconds), perform a short
>> routine and then re-enter Sleep again?
>
>Enable the watchdog, setup the wdt prescaler as you prefer.
>Every watchdog trigger puts the device out of reset. You can
>determine a WDT reset from a power-on-reset by using some STATUS bits
>provided.
>I have done that, works great.
>If you like some more details -> PM me (see below).
>
>HTH
>Wolfgang
Wolfgang,
Thank you for the suggestion - I have no idea why I didn't think of
this! It's the perfect solution for me.
Thanks once again, kind regards,
Simon
Reply by Wolfgang Mahringer●April 5, 20052005-04-05
Hi Simon,
PigPOg schrieb:
> Is there anyway that a PIC in sleep mode can wake-up periodically by
> way of an internal mechanism (say, every 30 seconds), perform a short
> routine and then re-enter Sleep again?
Enable the watchdog, setup the wdt prescaler as you prefer.
Every watchdog trigger puts the device out of reset. You can
determine a WDT reset from a power-on-reset by using some STATUS bits
provided.
I have done that, works great.
If you like some more details -> PM me (see below).
HTH
Wolfgang
--
From-address is Spam trap
Use: wolfgang (dot) mahringer (at) sbg (dot) at
Reply by PigPOg●April 5, 20052005-04-05
Hi all,
Is there anyway that a PIC in sleep mode can wake-up periodically by
way of an internal mechanism (say, every 30 seconds), perform a short
routine and then re-enter Sleep again?
I'm using a 16F505, but this has no interrupts so I was wondering if I
could use the internal timer to implement this function? I know the
wake-up on input change would suit but this would mean adding an
external timer and the loss of an I/O pin.
If this is not possible with the 505, is it possible with any other
PIC and if so, do I still have to externally generate an interrupt
every 30 seconds?
Thanks for any help,
Simon