Hi,
das Funkmodul ist sofort Betriebsbereit! Die Anzahl der Bytes die übertragen werden kannst du beliebig ändern, schau dir Programmcode und Beispiele einfach mal an, das bekommst du sicher gut hin.
Ja, kann man so machen.
Hi,
das Funkmodul ist sofort Betriebsbereit! Die Anzahl der Bytes die übertragen werden kannst du beliebig ändern, schau dir Programmcode und Beispiele einfach mal an, das bekommst du sicher gut hin.
Ja, kann man so machen.
Mit bestem Gruß
Frank
Admin Roboternetz.de - RN-Wissen.de - Elektronik-Blog
Überzeugter und begeisterter Elektroauto Fahrer seit 2018
Hallo Frank,
nach dem Nachbau Deiner Module und erfolgreichem Test insbesondere Deiner Interrupt-Empfangsroutine möchte ich diese gern für meine Zwecke erweitern.
Es soll nach Empfang eines Strings ein anderer zurück gesendet werden, z.B in etwa so:
...
...
Ausgabestring = String(40 , 65)
Do
if daten_sind_da=1 then
Print Left(eingangsstring , 40)
Daten_sind_da = 0
end if
'an dieser Stelle könnten beliebige Aufgaben nebenher gemacht werden
'nur ab und zu muss halt geschaut werden ob die Daten schon da sind
'das sagt hier das Flag "daten_sind_da" aus
Call Rfm12_senden(40)
Wait 1
Loop
Leider funktioniert nach dem Senden offenbar der Interrupt nicht mehr, jedenfalls kommt nichts mehr an.
Nur Senden oder nur empfangen geht problemlos.
Wahrscheinlich muss man den RFM12 nach dem Senden erstmal wieder auf Empfang umstellen, aber ich überblicke die vielen Initialisierungsbefehle nicht so recht. Wäre schön, wenn Du mir helfen könntest.
Viele Grüße
Horst
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:
Also so ähnlich oder fast genauso sollte es bei RN-Mikrofunk auch klappen.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
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!
Mit bestem Gruß
Frank
Admin Roboternetz.de - RN-Wissen.de - Elektronik-Blog
Überzeugter und begeisterter Elektroauto Fahrer seit 2018
Jawoll, so läuft's ganz prachtvoll! Ich bin begeistert!
Vielen Dank für die prompte Anwort
Horst
für die Bausätze RN-Mikrofunk und RN-Unviersal sind RFM12 Module vorgesehen.
Diese Module laufen aus, der Ersatz ist das pin-kompatible Modul RFM69cw.
Gibt es vielleicht schon irgendwo einen Bascom-code für das RFM69cw Modul?
Ja das Modul RFM69cw ist wohl pinkompatibel und kann ohne Probleme auch auf den Boards RN-Mikrofunk und RN-AVR Universal eingesetzt werden. Ich habe mich aber noch nicht mit dem Funkmodul beschäftigt, von daher kann ich momentan dazu kein Beispielprogramm anbieten.
Vielleicht kann jemand anders mit einem Bascom Beispiel aushelfen? Beispiele sind immer willkommen!
Bild hier
Mit bestem Gruß
Frank
Admin Roboternetz.de - RN-Wissen.de - Elektronik-Blog
Überzeugter und begeisterter Elektroauto Fahrer seit 2018
Ich hatte mir vor ein paar Monaten ein solches Modul bestellt. Bestückt habe ich es mit einem RFM69CW. Erste Tests waren erfolgreich. derzeit portiere ich gerade die RFM69 library von LowPowerLab auf Plain-C (avr gcc). Ich wollte gerade noch 5 weitere Platinen des Moduls ordern, musste jedoch mit Bestürzung feststellen, daß der Shop bei robotikhardware.de geschlossen hat.
Wo komme ich jetzt an die Platinen?
@Frank: Hättest Du noch welche?
Auch andere Angebote werden gern genommen. Selbst wenn es weniger als fünf sind.
Derzeit bin ich auf der Suche, warum ich nicht unter 4mA Stromaufnahme komme. Trotz der Ausnutzung von sleep-Modi. Stück für Stück die Bestückung wieder abzulöten, ist nicht gerade die einfachste Variante. Besonders schwer ließe sich das Funkmodul wieder entfernen...
Lesezeichen