N'Abend,

laut meinem Code schiebe ich ja noch 2 Bytes hinterher:
Code:
Sub Rf12_txdata(byval Txlen As Byte)
  Temp = Rf12_trans(&H8238) : Rf12_ready                                                                                          'Power CMD: synt.& PLL on
  Temp = Rf12_trans(&H8230) : Rf12_ready
  Temp = Rf12_trans(&H0000) : Rf12_ready                                                                                          'Status holen
 Rf12_status = Temp                                                                                                               'Status einlesen
  Temp = Rf12_trans(&Hb8aa) : Rf12_ready                                                                                          'Preamble
 Temp = Rf12_trans(&Hb8aa) : Rf12_ready                                                                                           'Preamble
  Temp = Rf12_trans(&Hb8aa) : Rf12_ready                                                                                          'Preamble in FIFO schieben
  Temp = Rf12_trans(&Hb82d) : Rf12_ready                                                                                          'Startzeichen: 2D für den Empfänger
  Temp = Rf12_trans(&Hb8d4) : Rf12_ready                                                                                          'Startzeichen: D4 für den Empfänger
  Print "sende1"
  For Lv = 1 To Txlen
      Rf12_ready
      Temp = &HB800 + Rf12_data(lv)                                                                                               'Sende Nutzdaten
      Temp = Rf12_trans(temp)
      'Toggle Led2
      Print "temp" ; Temp
      Next Lv
Temp = Rf12_trans(&Hb8aa) : Rf12_ready
  Temp = Rf12_trans(&Hb8aa) : Rf12_ready                                                                                          'Dummybyte nachschieben
  Temp = Rf12_trans(&H8208) : Rf12_ready                                                                                          'Power CMD: synt.& PLL off, Quarz-clk läuft weiter
  Print "sende2"
  End Sub
und hier wird es über SPI übertragen:
Code:
Function Rf12_trans(byval Wert As Word) As Word
  Local Lowbyte As Byte
  Local Highbyte As Byte

  Lowbyte = Low(wert) : Highbyte = High(wert)
Reset Spi_cs
  Highbyte = Spimove(highbyte) : Lowbyte = Spimove(lowbyte)
Set Spi_cs
  Temp = Makeint(lowbyte , Highbyte)                                                                                              'debug
  Rf12_trans = Temp
     Print "SPI receive: " ; Hex(temp)
     Print "SPI send " ; Hex(highbyte)
End Function
Irgend eine Idee warum das letzte Byte dennoch falsch sein kann?