Hi,
ja der Empfänger und Interupt muss nach dem senden wieder richtig initialisiert werden. Für RN-Mikrofunk habe ich gerade keinen Beispielcode parat aber für RN-AVR Universal.
Hier sieht die Senderoutine, die auch nach einen Interrupt Empfang funktioniert, so aus:
	Code:
	Sub Rfm12_senden(byval Anzahl As Integer)Local Ni As Byte
  Disable Int0
  D = Spitransfer(&H8238)                                   'Enable Transmitter; enable Synthesizer ;enable Crystal Osc
  Gosub Rfm12_warte
  D = Spitransfer(&Hb8aa)
  Gosub Rfm12_warte
  D = Spitransfer(&Hb8aa)
  Gosub Rfm12_warte
  D = Spitransfer(&Hb8aa)
  Gosub Rfm12_warte
  D = Spitransfer(&Hb82d)
  Gosub Rfm12_warte
  D = Spitransfer(&Hb8d4)
  For Ni = 1 To Anzahl
    Gosub Rfm12_warte
    D = &HB800 + Ausgabedaten(ni)
    D = Spitransfer(d)
  Next Ni
  Gosub Rfm12_warte
  D = Spitransfer(&Hb8aa)
  Gosub Rfm12_warte
  D = Spitransfer(&Hb8aa)
  Gosub Rfm12_warte
  D = Spitransfer(&H82d9)                                   'alles aus
  D = Spitransfer(&H82d9)                                   'Empfänger ein
  D = Spitransfer(&Hca83)
  D = Spitransfer(&H0000)
  Eifr.intf0 = 1
  Enable Int0
End Sub
 Also so ähnlich oder fast genauso sollte es bei RN-Mikrofunk auch klappen.
Wichtig darin sind diese Zeilen:
	Code:
	Sub Rfm12_senden(byval Anzahl As Integer)
...
  Disable Int0
...
  D = Spitransfer(&H82d9)                                   'alles aus
  D = Spitransfer(&H82d9)                                   'Empfänger ein
  D = Spitransfer(&Hca83)
  D = Spitransfer(&H0000)
  Eifr.intf0 = 1
  Enable Int0
End Sub
 
Ich nehme die Funktion selbst zum quittieren von Funkmessages!
						
					
Lesezeichen