Hirdetés

Új hozzászólás Aktív témák

  • vargalex

    félisten

    válasz olli #20463 üzenetére

    Szia!

    Ugyan én nem nagyon szoktam használni a String osztályt, de most az egyszerűség kedvéért (kipróbálni ugyan nem tudtam, de szerintem működnie kell):

    #include <SPI.h>
    #include <LoRa.h>
    unsigned int state;
    //LoRa32u4 ports
    #define SS 8
    #define RST 4
    #define DI0 7
    #define BAND 433E6
    void setup() {
    Serial.begin(115200);
    pinMode(13, OUTPUT); // fehér led sets the pin as output for relay
    digitalWrite(13,HIGH);
    //while (!Serial); //if just the the basic function, must connect to a computer
    delay(1000);
    SPI.begin();
    LoRa.setPins(SS,RST,DI0);
    Serial.println("LoRa Receiver");
    if (!LoRa.begin(433E6)) {
    Serial.println("Starting LoRa failed!");
    while (1);
    }
    Serial.println("LoRa Initial OK!");
    }

    /*----( LOOP: RUNS CONSTANTLY )----*/
    void loop() {
    digitalWrite(13,LOW); // try to parse packet
    int packetSize = LoRa.parsePacket();
    String message = ""
    if (packetSize) { // received a packet
    while (LoRa.available()) {
    message += (char)LoRa.read();
    }
    Serial.print("Received packet :");
    Serial.print(message);
    // print RSSI of packet
    Serial.print("' with RSSI ");
    Serial.println(LoRa.packetRssi());
    Serial.print("Status: ");
    Serial.println(message.charAt(0));
    }
    }

    A korrekt megoldás valóban inkább az lenne, hogy saját struktúrát definiálni és annak a címét beállítani a beolvasott tömb címére (persze ekkor fix méretekkel kell dolgozni).

Új hozzászólás Aktív témák