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 но код на компе не компилиться. Может кто подскажет в чем тут проболема?