Okay, also ich hab es jetzt nochmal noch feiner umgeschrieben das Programm.
Und hab so weit erstmal etwas hin bekommen, das die Schaltung zumindest reagiert, sobald Daten an kommen.
Irgendwie scheint da das Hardware-SPI nicht so richtig zu funktionieren oder ich bein einfach zu blöd für...
Hab das SPI jetzt raus gelassen und ne komplette Software-SPI Lösung geschrieben. Und damit funktionierts...

Für alle dies Interessiert, hier der code (nur Schade das result beim Empfangen immer 0x00 ist, obwohl beim ersten Byte 0x31 gesendet wird...)

Code:
' Empfangen von Daten auf dem Evaluation-Board
' Modul: RFM01
' AVR: Mega8

$regfile = "m8def.dat"
$crystal = 8000000

Declare Function Rf01_trans(byval Wert As Word) As Word
Declare Function Read_fifo() As Byte

Dim A As Byte
Dim B As Byte
Dim Temp As Word
Dim Result As Byte

Led1 Alias Portd.6
Led2 Alias Portd.5
Modul_power Alias Portd.4
Spi_cs Alias Portb.2                                        ' SS-Pin
Spi_sdo Alias Pinb.4                                        ' MISO-PIN

Ddrd.4 = 1
Ddrd.5 = 1                                                  'LED 2 Ausgang
Ddrd.6 = 1
Reset Led2
Reset Modul_power

Wait 1

For A = 1 To 6
  Toggle Led2
  Waitms 200
Next A

Reset Led2
Set Modul_power

Waitms 200

Portb.2 = 1                                                 'Slave inaktiv
Portb.3 = 1                                                 'MOSI auf high
Portb.5 = 0                                                 'Sck Low
Portb.7 = 1                                                 'FSK high
Ddrb.2 = 1
Ddrb.3 = 1
Ddrb.4 = 0                                                  'MISO = Eingang
Ddrb.5 = 1

'Ddrd.2 = 0                                                  'INT0 als Eingang
'Ddrd.7 = 1                                                  'FSK als Ausgang


  Temp = Rf01_trans(&H0000)
  Temp = Rf01_trans(&H898a)
  Temp = Rf01_trans(&Ha640)
  Temp = Rf01_trans(&Hc847)
  Temp = Rf01_trans(&Hc69b)
  Temp = Rf01_trans(&Hc42a)
  Temp = Rf01_trans(&Hc240)
  Temp = Rf01_trans(&Hc080)
  Temp = Rf01_trans(&Hce88)
  Temp = Rf01_trans(&Hce8b)
  Temp = Rf01_trans(&Hc081)


Ddrd.7 = 1                                                  'FSK
Ddrd.2 = 0                                                  'nIRQ

B = 0
Do

  Do
  Loop Until Pind.2 = 0
  Set Led2
  B = B + 1
  Result = Read_fifo()
  If Result = &H00 Then
    Set Led1
    Waitms 200
    Reset Led1
  End If

  If B = 18 Then
    Temp = Rf01_trans(&Hce88)
    Temp = Rf01_trans(&Hce8b)
    B = 0
    'Set Led2
    'Waitms 200
    'Reset Led2
  End If
  Reset Led2
Loop



Function Rf01_trans(byval Wert As Word) As Word
Temp = 0
Portb.5 = 0                                                 'Low SCK
Portb.2 = 0                                                 'Low SS

For A = 15 To 0 Step -1
  If Wert.a = 1 Then
    Portb.3 = 1
  Else
    Portb.3 = 0
  End If
  Portb.5 = 1                                               'high sck
  nop
  nop
  nop
  nop
  Portb.5 = 0

Next A
Portb.2 = 1

End Function

Function Read_fifo() As Byte
  Portb.5 = 0
  Portb.3 = 0
  Portb.2 = 0
  For A = 0 To 15
    Portb.5 = 1
    nop
    Portb.5 = 0
    nop
  Next A
  For A = 7 To 0 Step -1
    If Pinb.4 = 1 Then
      Result.a = 1
    Else
      Result.a = 0
    End If

    Portb.5 = 1
    nop
    Portb.5 = 0
    nop
  Next A
  Portb.2 = 1

  Read_fifo = Result
End Function

End