1. имеется в наличие arduino nano v3 atmega 328, arduino mega 2560 и два модуля rfm12bs 433mhz. см вложение
2. подключение rfm12b через SPI интерфейс
3. во вложении на рисунках подключение к arduino nano и mega, у них разные порты spi интерфейса. NANO SPI-10,11,12,13, IRQ2-2. MEGA SPI-50,51,52,53, IRQ2-21
4. для работы используется библиотека jeelib https://github.com/jcw/jeelib, в файле RF12.cpp есть прописка относительно AVR_ATmega2560 для MEGA и ATmega328 для NANO, т.е. библиотека не старая и данные adruin-ы учитываются
но в простейшем скетче rf12_recvDone не отрабатывает, передача
Код: Выделить всё
#include <JeeLib.h>
//payload def
typedef struct {
float tempC;
}
Payload;
Payload payload;
void setup() {
rf12_initialize(1, RF12_433MHZ, 212);
}
void loop() {
while(!rf12_canSend()){
rf12_recvDone();
}
payload.tempC = 10;
rf12_sendStart(0, &payload, sizeof payload);
rf12_sendWait(3);
}
Код: Выделить всё
#include <JeeLib.h>
//payload def
typedef struct {
float tempC;
}
Payload;
Payload payload;
void setup() {
rf12_initialize(2, RF12_433MHZ, 212);
}
void loop() {
if (rf12_recvDone() && rf12_crc == 0 and rf12_len == sizeof(Payload)){
const Payload* p = (const Payload*) rf12_data;
// Serial.print( "temp C: " );
// Serial.println(p->tempC);
}
}
Дайте направление, любую информацию для решения данного вопроса. Спасибо