habe den Code zum testen des Interrupt wie folgt umgeschrieben (erstmal ohne Drehzahlermittlung):
Code:
  $regfile = "m32def.dat"  'z.B. RN-Control
  $framesize = 32
  $swstack = 32
  $hwstack = 32
  $crystal = 8000000                                        'Quarzfrequenz
  $baud = 9600

  Declare Sub Rnb_servo(byval Servonummer As Byte , Byval Position As Byte)

  Config Int0 = Rising                                      'Interrupt bei steigender Flanke

  On Int0 Irq0                                              'Festlegen wo bei externem Interrupt hin gesprungen wird
  Enable Int0                                               'Diesen Interrupt aktivieren
  Enable Interrupts  'Alle aktivierten Interrupts einschalten
  Do  'Endlosschleife

   Call Rnb_servo(1 , 1)
   Waitms 500
   'goto  IRQ0
  '$PROG &HFF,&HEF,&HD9,&H00' generated. Take care that the chip supports all fuse bytes.$PROG &HFF,&HEF,&HD9,&H00' generated. Take care that the chip supports all fuse bytes. Goto Irq0
  Loop

  Sub Rnb_servo(byval Servonummer As Byte , Byval Position As Byte)
   Print "#s" ; Chr(servonummer) ; Chr(position)
  End Sub

  End

  'Interrupt Routine wird immer ausgelöst wenn der Pegel von 0 auf 1 am
  'INT0 (Pin 18 PD2) Eingang wechselt
  Irq0:
   Call Rnb_servo(1 , 255)
   Waitms 1000
  Return