Danke für deine Antwort.

Also um weiter Fehler ausschließen zu können, hat mir ein Freund nun 2 Pollin-Evaluation-Boards zur Verfügung gestellt. Eins mit dem RFM01 Modul und das zweite mit einem RFM02 Modul.

Ist zwar nicht das RFM12-Modul was ich brauch, aber erstmal egal.
WEIL:

Er hat da das Test-Programm von Pollin drauf gespielt. Nun übersetze ich den Quellcode von C in Basic um dann zumindest mal zu sehen ob meine Übersetzung korrekt ist.
Und wie ich bis jetzt feststellen musste, ist meine Übersetzung offensichtlich absolut falsch. Denn mit dem Basic-Code Empfängt das Modul nichts.

Also scheint etwas an der Konfiguration falsch zu sein.
Demm beim Empfangen wird ja nur Konfiguriert und dann auf den IRQ gewartet. Aber nach meiner Konfiguration über Basic kommt kein IRQ.
Daten kommen aber vom anderen Modul 100%ig an. Das beweist ja, wenn ich wieder das C-Programm auf spiele, dann empfängt der Chip was.

Also liegt hier definitiv der Fehler im Basic.
Meine Vermutung ist, der Fehler liegt genau genommen beim SPI.
Mit SPI hab ich noch nie gearbeitet und keinerlei Erfahrung.

Schaut euch den Code bitte mal an, ob ihr das Fehler finden könnt:
Code:
' Empfangen von Daten auf dem Evaluation-Board
' Modul: RFM01
' AVR: Mega8

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

'DDR = &B76543210   ; 0=Eingang  ; 1=Ausgang
Ddrb = &B00000000
Ddrc = &B00000000
Ddrd = &B01110000
Portb = &B00000000
Portc = &B00000000
Portd = &B00000000

Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 128 , Noss = 1       ' LED zur Schleifenkontrolle

Declare Function Rf01_trans(byval Wert As Word) As Word

Dim A As Byte
Dim Temp As Word

Led1 Alias Portd.6
Led2 Alias Portd.5
Modul_power Alias Portd.4

' werden benötigt für rf12_ready
Spi_cs Alias Portb.2                                        ' SS-Pin
Config Spi_cs = Output
Spi_sdo Alias Pinb.4                                        ' MISO-PIN
Set Spi_cs

Spiinit

Wait 1

Reset Modul_power
For A = 1 To 6
  Toggle Led1
  Waitms 200
Next A

Reset Led1

Set Modul_power

Waitms 200

  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

Do

  Do
  Loop Until Pind.2 = 0

  Set Led2
  Waitms 300
  Reset Led2

Loop



Function Rf01_trans(byval Wert As Word) As Word
   Local Lowbyte As Byte
   Local Highbyte As Byte
   Lowbyte = Wert And 255
   Shift Wert , Right , 8
   Reset Spi_cs
   Highbyte = Spimove(wert)
   Lowbyte = Spimove(lowbyte)
   Set Spi_cs
   Temp = Highbyte * 256
   Temp = Temp + Lowbyte
   Rf01_trans = Temp
End Function

End
(Ist der Code für Mega8 auf den Pollin-Evaluation-Board mit angeschlossendem RFM01 Modul


Bin schon total verzweifelt
So schwer kann das doch wohl nicht sein....