RFM70 Funkmodul Eagle Library

Derzeit arbeite ich an einem RFM70 Board, daher habe ich eine kleine Eagle Library erstellt, die ich Ihnen nicht vorenthalten möchte.

Mittlerweile habe ich auch ein Layout mit der Library erstellt und es scheint alles zu funktionieren. Das Projekt, welches die Library verwendet, kann man unter RFM70 Funkmodul Development Board bewundern.

Eine C-Library zum Ansteuern dieses Funkmoduls finden Sie ebenfalls in meinem Blog.

Download

rfm70 Funkmodul Eagle Library

6 Gedanken zu “RFM70 Funkmodul Eagle Library

  1. Hallo
    Ich beschäftge mich seit kurzem mit den Funkmodulen RFM70 von HopeRF. Ich versuche gerade von einem modul das sensordaten sendet an ein empfangsmodul zu senden. Daten bekomme ich rein nur folgt jedem sensorwert ein byte mit dem wert 0. Da du schon erfahrungen mit den modulen gesammelt hast wollte ich fragen ob dir ähnliche fehler bekannt sind.

    der sender sendet bei mir:
    fix|fix|counter|sensor1|sensor2|sensor3|sensor4|sensor5|sensor6|fix

    empfangen wird:
    fix|0|fix|0|counter|0|sensor1|0|sensor2|0|sensor3|0|sensor4|0|sensor5|0|sensor6|0|fix

  2. ich habe den code von hope rf übernommen nur auf das hardware spi des atmega8 umgestellt...

    void RFM70_Send(uint8_t* pbuf,uint8_t len)
    {
    uint8_t fifo_status;
    totxmode(); //in tx mode wechseln
    fifo_status=spireadreg(FIFO_STATUS); // FIFO Status auslesen
    if((fifo_status&FIFO_STATUS_TX_FULL)==0) //wenn FIFO nicht voll ist
    {
    spiwritebuf(W_TX_PAYLOAD_NOACK, pbuf, len); // Daten in buffer schreiben
    PORTD |= (1<<PORTD7);
    }
    torxmode(); //zurück in rx mode
    }

    void RFM70_Recieve()
    {
    uint8_t length,i,stat,fifo_status;
    uint8_t rx_buf[MAX_PACKET_LENGTH];
    stat = spireadreg(STATUS); // Status Register auslesen
    PORTD &= ~(1<<PORTD5);
    if((0x40&stat)==0x40) // überprüfen ob daten im rx FIFO sind (7. bit)
    {
    PORTD ^= (1<<PORTD6);
    do
    {
    length=spireadreg(R_RX_PL_WID); // Paketlänge auslesen
    if (length<=MAX_PACKET_LENGTH) // überprüfen ob paketlänge die maximal erlaubte länge nicht überschreitet
    {
    spireadbuf(R_RX_PAYLOAD,&rx_buf[0],length); // aus FIFO auslesen in rx_buf array schreiben
    }
    else
    {
    spiwritereg(FLUSH_RX,0); // rx fifo löschen
    }
    fifo_status=spireadreg(FIFO_STATUS); //FIFO Status auslesen
    } while ((fifo_status&FIFO_STATUS_RX_EMPTY)==0);// solange FIFO nicht leer ist wiederholen
    spiwritereg(W_REGISTER|STATUS,stat); // bit 7 in status register löschen
    }
    }

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


× 2 = sechs

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>