Gast
#982007
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