Page 1 of 1

timer worked before?

Posted: Mon Jun 22, 2009 9:19 pm
by MrDEB
I had this timer code working but now it dosn't want to work??
I made several changes as I only need 2 timers.
end result I am after is a 20 minute low time then a short high, 20 minute low

Code: Select all

// [email protected] 8MHz - they are just used here for clarity...
Device = 18F1320
Clock = 8

Include "ISRTimer.bas"
include "INTOSC8.bas"          

// constant ID to 4 * 16 bit timers...
Const
   Timer1 = 0,
   Timer4 = 2
// OnTimer1 event...
Event OnTimer1()
   Toggle(PORTB.0)//pin 8
   DelayMS(10)
   
End Event

// OnTimer2 event...
Event OnTimer2()
   Toggle(PORTB.1)//pin9
    DelayMS(10)
   
End Event

// OnTimer3 event...
Event OnTimer3()
   Toggle(PORTB.2)//pin 17
End Event

// activate the timer module...
Timer.Initialize

// initialise the timers - refresh every 1000Hz (1ms)...
Timer.Items(Timer1).Interval = 10        // 50ms
Timer.Items(Timer1).OnTimer = OnTimer1   // timer event handler
 //
 // timer event handler
Timer.Items(Timer4).Interval = 40      // 2000ms, no event handler

// enable the timers...
Timer.Items(Timer1).Enabled = true
Timer.Items(Timer4).Enabled = true

// start processing all timers...
Timer.Start

// main program loop...
While true
   // this is a polled timer, not event driven - check to see
   // if it has timeout...
   If Not Timer.Items(Timer4).Enabled Then
       DelayMS(30)
      Toggle(PORTB.3)
      Timer.Items(Timer4).Enabled = true
   EndIf
      
   // background flash LED...
   High(PORTB.2)//pin 13
   DelayMS(50)
   Low(PORTB.2)//pin 13
   DelayMS(50)
Wend