I have an application that needs to do the following. 1. Micro rests in SLEEP mode 2. Micro woken up by negative going edges on INT2 (accumulating pulses) 3. Micro goes back to sleep 4. Micro woken every 1 minute to send accumulated pulse count via serial port In addition to requesting help regarding the entering and exit of sleep mode, will the watchdog time fully timeout (ie. not be reset each time the micro wakes for INT2) ? I have set up the code shown below. The aim was to toggle a pin each time the micro woke up so I can time the watchdog timeout. What actually happens is the micro sleeps for 4-5 seconds then wakes up and toggles the pin for several seconds at around 64ms then sleeps for 4-5 seconds again. The watchdog timer postscaler is set 1:1 at present. The micro is using internal 4MHz oscillator. Thanks in advance David void init() { DP1203_init(1,10); INTERRUPT_init(); PulseCount = 0; ADCON1 = 0xff; OSCCON = 0x60; // 4MHz IDLEN = false; SCS0 = false; SCS1 = false; SWDTEN = true; SLEEP(); } void main(void) { init(); for(;;) { if(!TO) { LATB3 = !LATB3; //SetRFMode(RF_SW_TRANSMITTER); //RFPORT.Buf[0] = hi_byte(PulseCount); //RFPORT.Buf[0] = lo_byte(PulseCount); //SendRFPacket(0x02,RFPORT.Buf); //SetRFMode(RF_SW_TRANSMITTER); IDLEN = false; SCS0 = false; SCS1 = false; SWDTEN = true; SLEEP(); } } } -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist