Robert,

mein Retter vor langer Zeit (du erinnerst dich noch?, bin Dir noch immer ein Kasten Bier schuldig ;o), hoffe es geht dir gut.

Zum Thema: ja, es wird noch immer 2x ausgefüht, warum auch immer.
Wenn Du sagst, es hängt am verwakelten Signal, dann Suche ich nicht mehr weiter. Wobei mir sich die Frage stellt, warum dann genau 2 mal nur???
Könnte ja auch 3x prellen??

Wie auch immer, habe deinen Rat befolgt, geht aber leider immer noch nicht.

Wäre es nicht möglich, innerhalb de Routine den INT0 auszuschalten, dann eine Wartezeit, dann code und dann wieder INT0 ein?

Wie auch immer, wenn es kein Codefehler ist, nehme ich einen anderen Taster. Schau mal bitte nur kurz über den Code, das weiß ich bescheid.

Liebe GRüße

popi

Code:
$regfile "ATtiny2313.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 32
$framesize = 24

'******************************************************************************

Enable Int0
Config Int0 = Falling
On Int0 Isr_von_int0
Enable Int1
Config Int1 = Falling
On Int1 Isr_von_int1
Enable Interrupts

Config Portd.6 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1

Dim Schleife As Integer
Dim Schrittweite As Integer

Schrittweite = 1
'******************************************************************************

Do

For Schleife = 100 To 250 Step Schrittweite
   Compare1a = Schleife
   Compare1b = 350 - Schleife
   Waitms 10
Next Schleife

Schrittweite = Schrittweite * -1
For Schleife = 250 To 100 Step Schrittweite
   Compare1a = Schleife
   Compare1b = 350 - Schleife
   Waitms 10
Next Schleife
Schrittweite = Schrittweite * -1

Loop
End

Isr_von_int0:
Waitms 1000 <-- warum wird es überhaupt noch mal angenommen, werden interrupts "gespeichert"

If Pind.2 = 0 Then
   If Schrittweite < 5 Then
      Incr Schrittweite
      Pulseout Portd , 6 , 5000
   End If
End If
Return


'folgendes ist zukunft, erst muss INT0 gehen
Isr_von_int1:
   If Schrittweite < 5 Then
      Decr Schrittweite
      Pulseout Portd , 6 , 5000
   End If
Return