Hallo, ich hänge jetzt schon seit längerem dabei ein paar RFM12 dazu zu bewegen zu kommunizieren. Leider bisher ohne Erfolg. Das Problem scheint die Anpassung der Sendeleistung zu sein. Ich habe ein LabView Programm zusammengestellt, um einfach und schnell zu testen, wo der Fehler liegen könnte. Aber egal welche Einstellung ich in der Sendeleistung/Empfang ich mache, ich bekomme keine Übertragung hin. Ich bekomme immer nur die Meldung, dass das Sendesignal zu stark ist bzw. der FIFO leer ist. Ich habe auch schon alle möglichen Beispielinitialisierungen durch.
angesichts der komplexität des themas, (und deiner software?) werden die paar zeilen beschreibung wohl kaum reichen... was hast du da überhaupt für hardware? und was ist da für firmware drauf? also, bei mir funktionierte die firmware 2.0.1 von jürgen eckert ziemlich gut. da sollte man sich die initialisierung ganz gut rauswursteln können: http://www.mikrocontroller.net/articles/AVR_RFM12
Danke für den Tipp. Ich dachte, ich hätte irgendwo einen generellen Fehler. Also mal die komplette Erklärung: :) Ich möchte erst einmal einfach 2 Byte senden. Später dann einen Temperatursensor auslesen. Aber dazu muss erst einmal die eine Richtung laufen, ist ja klar :) Die Hardware: - 3x Mega8 mit RFM12 und über FT232RL an USB angeschlossen (Schaltung s.o. / alle auf internen 8MHz und 9600 baud) - Hardware SPI - Die Antennen sind 16,2cm lang - Programmierer: HVProg Die Software: - AVR Studio 4.16 - HTerm - LabView Was funktioniert: - RS232 Kommunikation - Auslesen der Statusbytes - Ändern der einzelnen Konfigurations-Settings (anhand der CLK-Frequenz) Ich programmiere in Assembler. Die C-Programme habe ich durchgelesen und versucht mich daran zu halten. Bisher aber ohne Erfolg. Auch nach eigenen versuchen lt. den Datenblättern klappts nicht. Die Initialisierung sieht u.a. so aus: Sender: 0x80D7 ; //EL,EF,434band,12.0pF 0x8239 ; //!er,!ebb,ET,ES,EX,!eb,!ew,DC 0xA640 ; //frequency select 0xC647 ; //4.8kbps 0x94D0 ; //VDI,FAST,67kHz,0dBm,-103dBm 0xC2AC ; //AL,!ml,DIG,DQD4 0xCA81 ; //FIFO8,SYNC,!ff,DR 0xC483 ; //@PWR,NO RSTRIC,!st,!fi,OE,EN 0x9820 ; //!mp,45kHz,MAX OUT 0xE000 ; //NOT USED 0xC800 ; //NOT USED 0xC040 ; //1.66MHz,2.2V Empfänger: 0x80D7 ; //EL,EF,434band,12.0pF 0x8299 ; //er,!ebb,ET,ES,EX,!eb,!ew,D 0xA640 ; //frequency select 0xC647 ; //4.8kbps 0x94D0 ; //VDI,FAST,67kHz,0dBm,-103dBm 0xC2AC ; //AL,!ml,DIG,DQD4 0xCA81 ; //FIFO8,SYNC,!ff,DR 0xC483 ; //@PWR,NO RSTRIC,!st,!fi,OE,EN 0x9820 ; //!mp,45kHz,MAX OUT 0xE000 ; //NOT USED 0xC800 ; //NOT USED 0xC040 ; //1.66MHz,2.2V Das Hauptproblem, welches ich habe ist, dass der Status laufend sagt, ich hätte ein zu starkes Sendesignal. Selbst wenn ich an den Empfängerbits drehe und mal durch Glück kein zu starkes Signal habe, fehlt dann noch das DQD. Oder es kommt nach wie vor nix. Aus der rfm12.inc werden eigentlich nur die Routinen aufgerufen. (dort hatte ich vorhin noch einen Fehler gefunden) Vielen Dank für die Hilfe!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.