EditZitat von Kai.s0r
Bei den Programmen sind einige sachen vom "Ursprungsprogramm" noch als Kommentare. Wir haben sie mal drin gelassen um da noch was draus zu lernen, aber nur als Kommentare halt. Nicht weiter stören lassen
Hallo,
ein Freund und ich beschäftigen uns seit einigen Tagen mit den 433 - Mhz - Funkmodulen vom Pollin. Nun haben wir im Internet gestöbert und ein Programm gefunden und das nun unseren Bedürfnissen angepasst. Aber irgendwie Funktioniert das nicht so ganz! So wie wir das geplant haben, müsste der Empfänger eigentlich, nachdem er Initialisiert wurde die Empfangenen Werte an den Computer senden. Aber er sendet nur :
0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-
was ja eigentlich schonmal nicht so schlecht ist, aber es bedeutet ja, das er nichts empfängt. Nun wollen wir auf Fehlersuche gehen, aber wir wissen nicht genau, wo wir anfangen sollen, da es ja eigentlich überall dran liegen könnte (Programm, Anschlussbelegung, Antenne etc.)
Hier wollte ich nun einmal Fragen, ob das Proggramm zum senden, sowie zum Empfangen soweit vernünftig ist, oder ob wir irgendetwas falsch gemacht haben (wiegesagt..wir sind eher Bascom - Anfänger und müssen noch viel lernen )
Danke euch schonmal für eure Hilfe
EditZitat von Kai.s0r
Bei den Programmen sind einige sachen vom "Ursprungsprogramm" noch als Kommentare. Wir haben sie mal drin gelassen um da noch was draus zu lernen, aber nur als Kommentare halt. Nicht weiter stören lassen
Herzlich willkommen bei den RFM12 NutzernZitat von Kai.s0r
Es ist um einiges einfacher, die fertige LIB zu benutzen. Dort findet ihr auch Programmbeispiele für das Modul und bestimmt auch Hilfe.
http://comwebnet.weimars.net/forum/s...d=2147#pid2147
Gruß Eisbaeeer
Danke schonmal! Wir haben jetzt etwas am Programm verändert und denken, dass es jetzt eigentlich auch klappen sollte! Nur der Empfänger empfängt immernoch nur 0-0-0 usw.
Beide MC sind auf externen Clock, und laufen auch, daher hoffe ich einfach mal, dass die nicht, warum auch immer kaputt sind und vernüntig funktionieren.
Kann es an sachen, wie antenne oder so liegen? Wir benutzen einfach nur so einen ca 15 cm langen draht :-D
Nutzt Ihr den FiFo Puffer beim Empfänger.
Der kann auf verschiedene Weise getriggert werden, braucht aber bei manchen Modi des "Aufsperrcode" 0xAA 0xAA 0xAA 0x2D 0xD4 bevor die eigentliche Übertragung beginnt. Eventuell ist ja das euer Problem ?
Das 0x bedeutet, das die folgende Sequenz eine HEX Zahl ist - Das wird ja soweit ich weiß bei Bascom anders deklariert.
Also 0xAA = 170 Dezimal!
Danke dir!
Temp = Rf12_trans(&Hb8aa)
Temp = Rf12_trans(&Hb8aa)
Temp = Rf12_trans(&Hb8aa)
Temp = Rf12_trans(&Hb82d)
Temp = Rf12_trans(&Hb8d4)
Dürfte das doch sein, oder? Wenn das soweit stimmt, ist das leider nicht die Lösung, da wir das bereits "eingebaut" haben
Bin leider kein Bascom Jünger und kann deshalb mit eueren Codes nicht so viel anfangen sorry !
Also nein, an der Antenne liegt es nicht. 15cm sind zwar nicht optimal, aber sollte gehen.Zitat von Kai.s0r
Damit Euch geholfen werden kann, solltet ihr noch ein paar Infos bekanntgeben. Aus Eurem Script kann ich erahnen, dass ihr keinen FIFO benutzt. [-X Einfacher wäre es, wenn ihr die Daten aus dem RFM12 per FIFO auslest. Dazu muss aber dann der FFIT an einen Interrupt.
Wenn ihr mal sagen würded, was ihr überhaupt vorhabt, könnte man Euch auch eine Empfehlung aussprechen, wie der RFM12 angeschlossen werden soll und wie das Programm aussehen könnte. Es gibt nämlich zahlreiche Möglichkeiten.
Weiterhin ist die Frage, ob ihr mehere RFM12 vernetzen möchtet oder nur eine 2-Wege Kommunikation?
Wie in meinem ersten Post erwähnt, ist es am einfachsten, wenn ihr mit Bascom arbeiten möchete, die Include zu nehmen. Und Datenblätter lesen.
Gruß Eisbaeeer
Eigentlich haben wir nur vor eine 2-Wege Kommunikation zu basteln und damit dann immoment einfach mal nur einige Zahlen vom einen Funkmodul zum anderen zu senden. Dieses soll die dann an den PC ausgeben.
Das Initialisieren der beiden Funkmodule klappt auch und nun geht es ans senden, bzw ans Empfangen. Wir benutzen im Prinzip die selben Code-Stücke, wie aus der Datei, die du verlinkt hast, nur ohne Rf12-Ready, sowie Rf12-Readys, da ich den genauen sinn von denen nicht verstehe :-D Weiterhin glaube ich, dass der Sender zumindest irgendetwas sendet, da, wenn man ein anderes elektronisches Funkgerät daneben legt, dieses nichtmehr richtig von seiner Funkfernbedienung gesteuert werden kann.
Was ist denn als Antenne optimal?
Gurß
Bei 433 MHz wäre das Lambda/4 = 17cmZitat von Kai.s0r
Also meine RFM12 werden so intialisiert. Dazu ist es aber nötig, den FFIT an einen Interrupt zu hängen. Immer wenn der RFM12 Daten im FIFO hat, wird die Interrupt Schleife eingesprungen und der RFM12 ausgelesen.
So wird der Empfänger eingeschaltet:Code:Sub Rf12_init() Waitms 150 Temp = Rf12_trans(&H0000) ': print Temp '0000 -Status Temp = Rf12_trans(&Hc0e0) ': print Temp 'C0E0 -Clock Output 10MHz Temp = Rf12_trans(&H80d7) ': print Temp '80D7 -Datareg used,FIFO enabled,433MHz,CL=15pF Temp = Rf12_trans(&Hc2ab) ': print Temp 'C2AB -Datafilter:Autolock-slow mode-Digital Filter,f1=1;f0=1 Temp = Rf12_trans(&Hca81) ': print Temp 'CA81 -FIFO/ResetMode (Brownoutdektion ausgeschaltet) Temp = Rf12_trans(&He000) ': print Temp 'E000 -WakeUP Timer Temp = Rf12_trans(&Hc800) ': print Temp 'C800 -LowDuty Cycle Temp = Rf12_trans(&Hc4f7) ': print Temp 'C4F7 -AFC-command -eingeschaltet End Sub
Es gibt schon ein fertiges Programm für den RFM12 für eine Funkbrücke.Code:'------------------------------------------------------------------------------- ' RF12 einschalten '------------------------------------------------------------------------------- Rf12_rxd_on: Lv = 1 Rf_sync = 0 'sync-Flag Rf_rxd = 0 Rf12_string = "" Framelength = 6 'erst mit 3.Byte kann die Framelänge berechnet werden Temp = Rf12_trans(&H82c8) 'Power CMD: Empfänger an, Quarz-clk läuft weiter Temp = Rf12_trans(&Hca81) 'FIFO&Reset CMD: sensitiver Reset aus (Brownout) Temp = Rf12_trans(&Hca83) 'FIFO&Reset CMD: Synchroner Zeichenemfang (warte auf Startzeichen: 2DD4) Enable Int0 Return
Grüße Eisbaeeer
Lesezeichen