Ben sinds 2 dagen met een mega88 aan het stoeien, en ben nu met de timers bezig. Kan iemand mij vertellen of ik een beetje goed gaat met de code? Dit is een interrupt routine waar een externe interrupt binnen komt op INT0, die dan weer een timer start die dan weer elke 102us een interrupt geeft
De rest van het programma is niet echt spannend, want is er nog niet.


Isr_dcc_in:

   'Er komt een DCC signaal binnen
   '1 klok-puls = 1 / (f_crystal / prescaler)
   '            = 1 / (10000000 / 1024)
   '            = 102.4us
   '87us / 102.4us = 0.85 (afgerond 1) klokpulsen
   'timer1 = 16bits, dus 65535 - 1 = 65534
   '
   'Meetbereik ligt tussen 58us en 116us
   '1 * 102.4us = 102.4us.
    Timer1 = 65534
    Start Timer1
    'Set Intf0                                     'INT0 = 1, reset INT0 interrupt                                             '
Return



Isr_87us:

   'ALs het goed is een interrupt na ongeveer 102us
   Stop Timer1
   Dcc = Pind.2                                   'een gemeten 0 is een DCC '1' en een
   Dcc = Not Dcc                                  'gemeten 1 is een DCC '0'
   Toggle Led1                                    'rode led

'   Locate 2 , Pos : Lcd Dcc
'   Incr Pos
'   If Pos > 16 Then
'      Pos = 1
'      Wait 2
'   End If
Return

Mocht het niet kloppen, hoe stel ik de tijd dan goed in
Ik weet dat het LCD gebeuren zwaar 'fout' is in een interrupt routine, maar is alleen voor debug en gaat er later helemaal uit

Ricco