HAllo Holli & Dieter,

mit dem Code von oben
Code:
'Interrupt Routine zum empfangen der bytes aus dem RFM 12
Ffit_isr:
      Set Led1                                              ':zum debuggen für LA
      Reset Led1
      Spiin Fifo(1) , 2                                     '1 Byte lesen
      Temp = Fifo(2)

     If Temp = Snap_sync And Rf_sync = 0 Then
        Rf_sync = 1
        Lv = 1
        Framelength = 6
    End If

     If Lv = 3 Then
        Ndb = Temp And &H0F                                 'Anzahl Datenbytes berechnen
        Ndb = 9                                             'zum debuggen
        Select Case Ndb
               Case 0 To 8 : Framelength = 6 + Ndb          '6-14 (0--8 Datebyte)
               Case 9 : Framelength = 6 + 16                '22   (16 Datenbyte)
               Case 10 : Framelength = 6 + 32               '38   (32 Datenbyte)
               'Case 11 : Framelength = 6 + 64               '70   (64 Datenbyte)
               End Select
    End If

    If Lv >= Framelength And Rf_sync = 1 Then               'alles eingetroffen
            Rf_rxd = 1                                      'Flag setzen und Empfänger zurück setzen
            Rf_sync = 0
           Call Rf_cmd(&H0000)                              'read status
           Call Rf_cmd(&Hca81)                              'Reset FIFO       wir warten wieder auf SYNC vom RFM 12
           Call Rf_cmd(&Hca83)                              'enable FIFO
    End If

    Rf12_data(lv) = Temp


    Incr Lv
   ' Überlauf abgefangen , passend zum Empfangsbuffer
    If Lv >= Recive_buffer_size Then
         'Überlauf
          Rf_sync = 0
           Lv = 1
           Rf12_s = ""                                      'buffer löschen
    End If
Return
kann ich gut meine Daten empfangen. Nur leider habe ich festgestellt, dass das letzte Byte nicht mit dem gesendeten übereinstimmt. Woran kann das liegen?

Grüße Matthias