если я в сокращении любой строки вместо nig пишу night то всё нормально, а просто nig ,то выдаёт ошибку компиляции..... вот часть скетча в котором загвоздка: Код (C++): void light(){ lcd.setCursor(0,1); lcd.print("ToD:"); lcd.setCursor(5,1); if(phSensor < 500 && phSensor > 300 ){ lcd.print("Evn"); } if(phSensor < 300){ lcd.print("Nig"); } if(phSensor > 500){ lcd.print("Day"); } } вот весь скетч : Код (C++): #include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal_I2C.h> #define ONE_WIRE_BUS 13 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensor(&oneWire); LiquidCrystal_I2C lcd(0x20,20,4); int powerButt; int choiseButt; int downButt; int upButt; int cols = 0; int rows = 0; int phSensor; boolean buttPowFlag = 0; boolean power = 0; boolean powerLed = 0; boolean menuOptions = 0; unsigned long timing1; unsigned long timing2; float temp; byte simvol1[8] = { 0b00000, 0b01100, 0b00010, 0b11111, 0b00010, 0b01100, 0b00000, 0b00000 }; void setup() { lcd.init(); lcd.backlight(); pinMode(2,OUTPUT); pinMode(A0,INPUT_PULLUP); pinMode(A1,INPUT); pinMode(4,INPUT_PULLUP); pinMode(5,INPUT_PULLUP); pinMode(6,INPUT_PULLUP); lcd.createChar(1,simvol1); } void loop() { upButt = !digitalRead(6); downButt = !digitalRead(5); choiseButt = !digitalRead(4); powerButt = !digitalRead(A0); phSensor = analogRead(A1); if(powerButt == 1&& buttPowFlag == 0&& millis()- timing1 > 10){ timing1 = millis(); power = !power; buttPowFlag = 1; } if(powerButt == 0 && buttPowFlag == 1){ buttPowFlag = 0; } if(power == 1){ powerLed = 1; menuOptions = 1; digitalWrite(2,1); } if(power == 0){ lcd.clear(); digitalWrite(2,0); menuOptions = 0; } if(menuOptions == 1 ){ ds18b20(); light(); } } void ds18b20(){ if( millis()- timing2 > 1500){ sensor.begin(); sensor.setResolution(12); sensor.requestTemperatures(); temp = sensor.getTempCByIndex(0); lcd.setCursor(0,0); lcd.print("TempC:"); lcd.setCursor(7,0); lcd.print(temp); timing2 = millis(); } } void light(){ lcd.setCursor(0,1); lcd.print("ToD:"); lcd.setCursor(5,1); if(phSensor < 500 && phSensor > 300 ){ lcd.print("Evn"); } if(phSensor < 300){ lcd.print("Nig"); } if(phSensor > 500){ lcd.print("Day"); } } Пожалуйста помогите... Очень надо..... Просто странная ситуация а сокращение мне очень нужно
А че пишет то?Компилятор в смысле.Да и смысл сокращения?Ничего не выиграете.Выигрыш в типе переменной (char,int,long,double)а не в имени.
exit status 1 Ошибка компиляции для платы Arduino/Genuino Uno. и всё я на этой строке ещё печатать буду чтобы уместить на той же строке
Arduino: 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Плата:"Arduino/Genuino Uno" C:\Users\�������\Documents\Arduino\libraries\OneWire\OneWire.cpp: In member function 'write': C:\Users\�������\Documents\Arduino\libraries\OneWire\OneWire.cpp:261:1: internal compiler error: Segmentation fault } ^ Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. lto-wrapper.exe: fatal error: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-gcc returned 1 exit status compilation terminated. c:/program files/windowsapps/arduinollc.arduinoide_1.8.21.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed collect2.exe: error: ld returned 1 exit status exit status 1 Ошибка компиляции для платы Arduino/Genuino Uno. Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции"
Вот здеся ������� русские символы?Низзя срочно перенести в корень диска С как у меня C:\Program Files\Arduino еще лучше так C:\Arduino. А этот скетч компилиться? Код (C++): #include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal_I2C.h> #define ONE_WIRE_BUS 13 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensor(&oneWire); LiquidCrystal_I2C lcd(0x20,20,4); int powerButt; int choiseButt; int downButt; int upButt; int cols = 0; int rows = 0; int phSensor; boolean buttPowFlag = 0; boolean power = 0; boolean powerLed = 0; boolean menuOptions = 0; unsigned long timing1; unsigned long timing2; float temp; byte simvol1[8] = { 0b00000, 0b01100, 0b00010, 0b11111, 0b00010, 0b01100, 0b00000, 0b00000 }; void setup() { lcd.init(); lcd.backlight(); pinMode(2,OUTPUT); pinMode(A0,INPUT_PULLUP); pinMode(A1,INPUT); pinMode(4,INPUT_PULLUP); pinMode(5,INPUT_PULLUP); pinMode(6,INPUT_PULLUP); lcd.createChar(1,simvol1); } void loop() { upButt = !digitalRead(6); downButt = !digitalRead(5); choiseButt = !digitalRead(4); powerButt = !digitalRead(A0); phSensor = analogRead(A1); if(powerButt == 1&& buttPowFlag == 0&& millis()- timing1 > 10){ timing1 = millis(); power = !power; buttPowFlag = 1; } if(powerButt == 0 && buttPowFlag == 1){ buttPowFlag = 0; } if(power == 1){ powerLed = 1; menuOptions = 1; digitalWrite(2,1); } if(power == 0){ lcd.clear(); digitalWrite(2,0); menuOptions = 0; } if(menuOptions == 1 ){ ds18b20(); light(); } } void ds18b20(){ if( millis()- timing2 > 1500){ sensor.begin(); sensor.setResolution(12); sensor.requestTemperatures(); temp = sensor.getTempCByIndex(0); lcd.setCursor(0,0); lcd.print("TempC:"); lcd.setCursor(7,0); lcd.print(temp); timing2 = millis(); } } void light(){ lcd.setCursor(0,1); lcd.print("ToD:"); lcd.setCursor(5,1); if(phSensor < 500 && phSensor > 300 ){ lcd.print("Evn"); } if(phSensor < 300){ lcd.print("Night"); } if(phSensor > 500){ lcd.print("Day"); } }
спасибо большое всё работает , но странно что с 3 символами ошибку выдаёт, а если 5 , то норм, но пасиб спасибо за помощь