Arduino DUE VirtualWire

forfrends
Offline
Зарегистрирован: 24.02.2015

Добрый день!

Я начинающий, и по-тихоньку пытаюсь освоить Ардуино. В данный момент попытался связать две ардуинки при помощи передатчика MX-03V. Библиотеку брал здесь: http://www.pjrc.com/teensy/td_libs_VirtualWire.html

Приемник прицепил к Меге 2560. Скетч-пример залился без проблем.

Передатчик прицепил к DUE. Скетч-пример не хочет компилироваться выдает ошибки:

/*
Скетч для передатчика
Этот скетч отправляет короткое сообщение на приемник
Подключите передатчик к 12 контакту Arduino
*/
#include <VirtualWire.h>
int var = 10;
String stringVar =  String(var, HEX);
char msg[50];

void setup()
{
// Инициализация
vw_setup(2000); // бит в секунду
}

void loop()
{
var=var+20;
if (var >170)
{
  var=10;
};
//send("Hello there");
stringVar.toCharArray(msg, stringVar.length()+1);
vw_send((byte *)msg, strlen(msg));
vw_wait_tx(); // Ожидание полной отправки сообщения
delay(1000);
}

 

Ошибки: 

Arduino: 1.6.5 (Windows 7), Плата"Arduino Due (Programming Port)"
Изменена опция сборки, пересобираем все

C:\Users\€Ј®ам\Documents\Arduino\libraries\VirtualWire\VirtualWire.cpp: In function 'void vw_setup(uint16_t)':
C:\Users\€Ј®ам\Documents\Arduino\libraries\VirtualWire\VirtualWire.cpp:390:5: error: 'TCCR1A' was not declared in this scope
     TCCR1A = 0; // Output Compare pins disconnected
     ^
C:\Users\€Ј®ам\Documents\Arduino\libraries\VirtualWire\VirtualWire.cpp:391:5: error: 'TCCR1B' was not declared in this scope
     TCCR1B = _BV(WGM12); // Turn on CTC mode
     ^
C:\Users\€Ј®ам\Documents\Arduino\libraries\VirtualWire\VirtualWire.cpp:391:18: error: 'WGM12' was not declared in this scope
     TCCR1B = _BV(WGM12); // Turn on CTC mode
                  ^
C:\Users\€Ј®ам\Documents\Arduino\libraries\VirtualWire\VirtualWire.cpp:391:23: error: '_BV' was not declared in this scope
     TCCR1B = _BV(WGM12); // Turn on CTC mode
                       ^
C:\Users\€Ј®ам\Documents\Arduino\libraries\VirtualWire\VirtualWire.cpp:398:5: error: 'OCR1A' was not declared in this scope
     OCR1A = nticks;
     ^
C:\Users\€Ј®ам\Documents\Arduino\libraries\VirtualWire\VirtualWire.cpp:405:5: error: 'TIMSK' was not declared in this scope
     TIMSK |= _BV(OCIE1A);
     ^
C:\Users\€Ј®ам\Documents\Arduino\libraries\VirtualWire\VirtualWire.cpp:405:18: error: 'OCIE1A' was not declared in this scope
     TIMSK |= _BV(OCIE1A);
                  ^
C:\Users\€Ј®ам\Documents\Arduino\libraries\VirtualWire\VirtualWire.cpp: At global scope:
C:\Users\€Ј®ам\Documents\Arduino\libraries\VirtualWire\VirtualWire.cpp:588:7: error: expected constructor, destructor, or type conversion before '(' token
 SIGNAL(TIMER1_COMPA_vect)
       ^
C:\Users\€Ј®ам\Documents\Arduino\libraries\VirtualWire\VirtualWire.cpp:668:1: error: expected '}' at end of input
 }
 ^
Ошибка компиляции.

  Это сообщение будет содержать больше информации чем
  "Отображать вывод во время компиляции"
  включено в Файл > Настройки

Можете подсказать в чем проблема?

Еще вопрос: какой программатор использовать для прошивки DUE?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

forfrends, библиотека не поддерживает DUE.

forfrends
Offline
Зарегистрирован: 24.02.2015

Может кто-то может помочь подправить библиотеку?