Hallo leute, ich versuche schon seit geraumer Zeit mit dem ARM LPC2129 und den Funkmodulen RF12 von Pollin eine Funkstrecke aufzubauen. Leider klappt es nicht so wie ich es mir vorstelle. Senden Funktioniert laut Spektrum Analyzer sehr gut und auf der Empfänger seite tut sich auch was an dem nIRQ Pin, dieser geht auf LOW. Laut Datenblatt müsste dann ja der FIFO bereit seit und der RF12 Empfangen können. Wenn ich den SDO Pin mit dem Oszi ausmesse sehe ich nur ein kurzes Wackeln des Statusregisters und sonst nur einen geraden Strich. Also empfange ich nur nullen, oder?? Als Init Routine hab ich mich an das Datenblatt von HopeRF gehalten und den Beispielcode vom Benedikt K. Das einzigste was ich verändert habe, is die Bandbreite von 134kHz auf 400kHz angehoben. Hier meine Init Routine des Emfpängers: Spi_Send(0x80D7); //EL,EF,12.0pF Spi_Send(0x82D9); //Enable RX Spi_Send(0xA680); //A140=430.8MHz Spi_Send(0xC647); //4,8kbps Spi_Send(0x9420); //VDI,FAST,400kHz,0dBm,-103dBm Spi_Send(0xC2AC); //AL,!ml,DIG,DQD4 Spi_Send(0xCA81); //FIFO8,SYNC,!ff,DR Spi_Send(0xC4F7); //@PWR,autotune: -10kHz...+7,5kHz,!st,!fi,OE,EN Spi_Send(0x9850); //!mp,9850=90kHz,MAX OUT Spi_Send(0xE000); //NOT USE Spi_Send(0xC800); //NOT USE Spi_Send(0xC000); //kein WDT, kein Batteriewächter Und hier die Empfangsroutine im main(): Funk_RX_Init(); Spi_Send(0xCA81); //Init FIFO Spi_Send(0xCA83); //Enable FIFO Spi_Send(0x0000); //Read Status Register while(1) { WAIT_nIRQ_LOW; //wait until nIRQ is low -> incoming data Spi_Send(0x0000); //Read Status Register delay(1000); //Delay 1000 Takte for(i=0;i<16;i++) { Spi_Send(0xB800); //Read FIFO delay(100); } Spi_Send(0xCA81); //Disable FIFO } Ich hoffe ihr könnt mir ein paar Tips geben was ich noch austesten kann. Bin langsam mit meinem Latein am Ende MFG Markus
!!! Spi_Send(0x82C8); //RX einschalten !!! Spi_Send(0xCA81); //Init FIFO Spi_Send(0xCA83); //Enable FIFO Spi_Send(0x0000); //Read Status Register
Hallo @Gast: Danke, hat aber noch nich den erwünschten erfolg gebracht :-( Desweiteren is mir noch aufgefallen das ich delay-zeiten eingesetzt habe die nich gerade sehr geschickt gewählt waren. Hab diese komplett rausgenommen, aber auch keine verbesserung. Bin für jeden Vorschlag offen! MFG Markus
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.