arduino mega и nano и rfm12bs 433mhz

Нет ответов
xmailer
Offline
Зарегистрирован: 21.01.2013

Подскажите пож-та, не могу самостоятельно решить следующий вопрос
1. имеется в наличие arduino nano v3 atmega 328, arduino mega 2560 и два модуля rfm12bs 433mhz
2. подключение rfm12b через SPI интерфейс
3. на рисунках подключение к arduino nano и arduino 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-ы учитываются.

Мне кажется что-то аппаратно сделал не так, подключал как обозначено в ссылке jeelabs от модуля rfm к arduino портам, без резисторов, питание от arduino 3.3v, на одной найденной схеме подключение используется один gnd на второй этот gnd вообще не используется, на другой через резистор замыкают CLK и VDD.

В настройках jeelib для mega и nano разные параметры ss_bit - возможно в этом дело?

Нашел статью по использованию rfm12b в пульте пиротехники (там чистый С), схема подключения rfm12b на этом пульте существенно отличается от jeelabs-ой.

Дайте направление, любую информацию для решения данного вопроса. Спасибо

в простейшем скетче 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);
  }
}