codebender.cc и Arduino IDE проблема компиляции
- Войдите на сайт для отправки комментариев
Ср, 27/01/2016 - 09:14
Здравтсвуйте,
Вот такой вопрос написал код в codebender.cc там он компилиться а в IDE выдает ошибку:
collect2.exe: error: ld returned 5 exit status.
#include <LiquidCrystal.h>
#include <dht11.h>
#include <DS1302.h>
#include <Time.h>
int encoderPin1 = 2; // подключаем энкодер к пину D2
int encoderPin2 = 3; // подключаем энкодер к пину D3
int pwmv0 = 10; // выход ШИМ0 D10
int pwmv = 11; // выход ШИМ D11
int lightPIN = 7; // выход реле D7
int lightPIN0 = 8; // выход реле0 D8
DS1302 rtc(4, 5, 6);
volatile int lastEncoded = 0;
volatile int encoderValue = 200; // начальное значение ШИМ
long lastencoderValue = 0;
int lastMSB = 0;
int lastLSB = 0;
int h;
dht11 DHT; // Объявление переменной класса dht11
#define DHT11_PIN 9 // Датчик DHT11 подключен к цифровому пину номер 15 А1
byte degree[8] = // Битовая маска символа градуса
{
B00111,
B00101,
B00111,
B00000,
B00000,
B00000,
B00000,
};
LiquidCrystal lcd(12, 13, 14, 15, 16, 17 );// Подключаем LCD
void setup(){
lcd.begin(16, 2);// задаем размерность дисплея
lcd.createChar(1, degree); // Создаем символ под номером 1
pinMode(encoderPin1, INPUT);
pinMode(encoderPin2, INPUT);
pinMode(9, INPUT);
pinMode(pwmv, OUTPUT);
pinMode(pwmv0, OUTPUT);
pinMode(lightPIN, OUTPUT);
pinMode(lightPIN0, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
attachInterrupt(0, updateEncoder, CHANGE);
attachInterrupt(1, updateEncoder, CHANGE);
analogWrite(pwmv, encoderValue); // записываем начальное значение ШИМ при включении
rtc.halt(false);
rtc.writeProtect(false);
}
void TempHumSpeedFan(){// Выводим показания влажности и температуры
lcd.clear();
lcd.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки
lcd.print("Humidity = % "); // Выводим текст
lcd.setCursor(11, 0);
lcd.print(DHT.humidity, 1);
lcd.setCursor(0, 1); // Устанавливаем курсор в начало 2 строки
lcd.print("Temp = \1C "); // Выводим текст, \1 - значок градуса
lcd.setCursor(11, 1);
lcd.print(DHT.temperature,1);
delay (1000);
lcd.clear();
lcd.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки
lcd.print("SpeedFAN = % "); // Выводим текст
lcd.setCursor(11, 0);
lcd.print(encoderValue, 1);
lcd.setCursor(0, 1);
lcd.print(rtc.getTimeStr());
delay (1000);
int chk;
chk = DHT.read(DHT11_PIN); // Чтение данных
switch (chk){
case DHTLIB_OK:
break;
case DHTLIB_ERROR_CHECKSUM:
lcd.clear();
lcd.print("Checksum error");
break;
case DHTLIB_ERROR_TIMEOUT:
lcd.clear();
lcd.print("Time out error");
break;
default:
lcd.clear();
lcd.print("Unknown error");
break;
}
}
void loop(){
analogWrite(pwmv, encoderValue);
TempHumSpeedFan();
void CHEKTIME();
}
void updateEncoder(){
int MSB = digitalRead(encoderPin1);
int LSB = digitalRead(encoderPin2);
int encoded = (MSB << 1) |LSB;
int sum = (lastEncoded << 2) | encoded;
if(sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011)
{
encoderValue ++;
if (encoderValue==255 || encoderValue > 255)
{
encoderValue = 255 ;
}
}
if(sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000)
{encoderValue --;
if (encoderValue==0 || encoderValue < 0)
{ encoderValue = 0 ; } }
lastEncoded = encoded; }
void CHEKTIME(){
h = hour();
if (h == 8||h == 9||h == 10||h == 11||h == 12||h == 13||h == 14||h == 15||h == 16||h == 17||h == 18||h == 19)
{
digitalWrite(lightPIN, HIGH);
}
else
{
digitalWrite(lightPIN, LOW);
}
}
Вся проблема в том что мне надо прошить плату Pro Mini, но она перестала прошиваться через переходник USB.
Поэтому с сайта прошить не получаеться. Думал прошить с компа через Nano как Arduino ISP но код на компе не компилиться. Может кто подскажет в чем тут проболема?