Kód: Vybrat vše
```cpp
#include <SPI.h>
#include <RadioLib.h>
#define CS_PIN 7
#define RESET_PIN 8
#define DIO0_PIN 2
Module radioModule = Module(CS_PIN, RESET_PIN, DIO0_PIN);
SX1278 radio = SX1278(&radioModule);
void setup() {
Serial.begin(115200);
delay(1000);
SPI.begin(4, 5, 6);
Serial.println("Inicializuji SX1278 přijímač...");
int state = radio.begin(433.0);
if (state != RADIOLIB_ERR_NONE) {
Serial.print("Chyba inicializace rádia: ");
Serial.println(state);
while (true);
}
radio.setBandwidth(62.5);
radio.setSpreadingFactor(9);
radio.setCodingRate(5);
radio.setSyncWord(0x12);
Serial.println("Rádio připraveno k příjmu.");
radio.startReceive();
}
void loop() {
if (radio.available()) {
String zprava;
int state = radio.readData(zprava);
if (state == RADIOLIB_ERR_NONE) {
Serial.print("PŘIJATO: ");
Serial.println(zprava);
} else {
Serial.print("Chyba při čtení dat: ");
Serial.println(state);
}
}
delay(100);
}
```
Kód: Vybrat vše
```cpp
#include <SPI.h>
#include <RadioLib.h>
#define CS_PIN 7
#define RESET_PIN 8
#define DIO0_PIN 2
Module radioModule = Module(CS_PIN, RESET_PIN, DIO0_PIN);
SX1278 radio = SX1278(&radioModule);
void setup() {
Serial.begin(115200);
delay(1000);
SPI.begin(4, 5, 6);
Serial.println("Inicializuji rádio SX1278 (vysílač)...");
int state = radio.begin(433.0);
if (state != RADIOLIB_ERR_NONE) {
Serial.print("Chyba inicializace: ");
Serial.println(state);
while (true);
}
radio.setBandwidth(62.5);
radio.setSpreadingFactor(9);
radio.setCodingRate(5);
radio.setSyncWord(0x12);
radio.setOutputPower(10); // max výkon 20 dBm (dle HW)
}
void loop() {
Serial.println("Odesílám zprávu...");
int state = radio.transmit("Ahoj z vysílače RFM90!");
if (state == RADIOLIB_ERR_NONE) {
Serial.println("Zpráva odeslána!");
} else {
Serial.print("Chyba při odesílání: ");
Serial.println(state);
}
delay(3000);
}
```
Vysílač pravidelně vypisuje:
Odesílám zprávu...
Zpráva odeslána!
Přijímač napíše:
Inicializuji SX1278 přijímač...
Rádio připraveno k příjmu.
a čeká na zprávu, ale ta asi nedojde. Už nevím, proč nepřijímá.
Nevěděl by někdo, proč spojení nefunguje?
Lze editovat přímo registry, tudíž myslím, že zapojení a nastavení v kompilátoru je správné, používám IDE Arduino.