Что значит ошибка expected unqualified-id before numeric constant? Как её исправить?
- Войдите на сайт для отправки комментариев
Код ошибки "Arduino: 1.8.13 (Windows 10), Плата:"Arduino Nano, ATmega328P (Old Bootloader)"
In file included from C:\Users\Пенёк\Documents\Arduino\sketch_aug15a\sketch_aug15a.ino:4:0:
C:\Users\����\Documents\Arduino\libraries\Time-master/Time.h:1:2: warning: #warning "Please include TimeLib.h, not Time.h. Future versions will remove Time.h" [-Wcpp]
#warning "Please include TimeLib.h, not Time.h. Future versions will remove Time.h"
^~~~~~~
sketch_aug15a:9:11: error: expected unqualified-id before numeric constant
C:\Users\Пенёк\Documents\Arduino\sketch_aug15a\sketch_aug15a.ino: In function 'void setup()':
sketch_aug15a:120:7: error: unable to find numeric literal operator 'operator""dig_display.init'
C:\Users\Пенёк\Documents\Arduino\sketch_aug15a\sketch_aug15a.ino: In function 'void loop()':
C:\Users\Пенёк\Documents\Arduino\sketch_aug15a\sketch_aug15a.ino:166:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
sketch_aug15a:195:10: error: unable to find numeric literal operator 'operator""dig_display.display'
sketch_aug15a:197:10: error: unable to find numeric literal operator 'operator""dig_display.display'
sketch_aug15a:199:10: error: unable to find numeric literal operator 'operator""dig_display.display'
sketch_aug15a:201:10: error: unable to find numeric literal operator 'operator""dig_display.display'
sketch_aug15a:203:10: error: unable to find numeric literal operator 'operator""dig_display.point'
exit status 1
expected unqualified-id before numeric constant
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции""
Сам код:
#include
#include
#include
#include
#include "TM1637.h"
#define CLK 6
#define DIO 5
TM1637 4dig_display(CLK, DIO);
// для данных времени
int8_t ListTime[4]={0,0,0,0};
// для данных dd/mm
int8_t ListDay[4]={0,0,0,0};
// разделитель
boolean point=true;
// для смены время / день-месяц
unsigned long millist=0;
tmElements_t datetime;
OLED myOLED(4, 3, 4); //OLED myOLED(SDA, SCL, 8);
extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];
extern uint8_t BigNumbers[];
///// часы ..
byte decToBcd(byte val){
return ( (val/10*16) + (val%10) );
}
byte bcdToDec(byte val){
return ( (val/16*10) + (val%16) );
}
void setDateDs1307(byte second, // 0-59
byte minute, // 0-59
byte hour, // 1-23
byte dayOfWeek, // 1-7
byte dayOfMonth, // 1-28/29/30/31
byte month, // 1-12
byte year) // 0-99
{
Wire.beginTransmission(0x68);
Wire.write(0);
Wire.write(decToBcd(second));
Wire.write(decToBcd(minute));
Wire.write(decToBcd(hour));
Wire.write(decToBcd(dayOfWeek));
Wire.write(decToBcd(dayOfMonth));
Wire.write(decToBcd(month));
Wire.write(decToBcd(year));
Wire.endTransmission();
}
void getDateDs1307(byte *second,
byte *minute,
byte *hour,
byte *dayOfWeek,
byte *dayOfMonth,
byte *month,
byte *year)
{
Wire.beginTransmission(0x68);
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(0x68, 7);
*second = bcdToDec(Wire.read() & 0x7f);
*minute = bcdToDec(Wire.read());
*hour = bcdToDec(Wire.read() & 0x3f);
*dayOfWeek = bcdToDec(Wire.read());
*dayOfMonth = bcdToDec(Wire.read());
*month = bcdToDec(Wire.read());
*year = bcdToDec(Wire.read());
}
///// температура ..
float get3231Temp(){
byte tMSB, tLSB;
float temp3231;
Wire.beginTransmission(0x68);
Wire.write(0x11);
Wire.endTransmission();
Wire.requestFrom(0x68, 2);
if(Wire.available()) {
tMSB = Wire.read(); //2's complement int portion
tLSB = Wire.read(); //fraction portion
temp3231 = (tMSB & B01111111); //do 2's math on Tmsb
temp3231 += ( (tLSB >> 6) * 0.25 ); //only care about bits 7 & 8
}
else {
//oh noes, no data!
}
return temp3231;
}
void setup()
{
Serial.begin(9600); // запустить последовательный порт
// запуск дисплея
4dig_display.init();
// яркость дисплея
//tm1637.set(7);
Serial.begin(9600);
myOLED.begin();
Wire.begin();
// установка часов
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
second = 30;
minute = 0;
hour = 14;
dayOfWeek = 3; // день недели
dayOfMonth = 1; // день
month = 4;
year = 14;
//setDateDs1307(00, 40, 15, 6, 15, 8, 2020);
}
void loop(){
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
char week[8][10] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);
char time[10];
char data[11];
snprintf(time, sizeof(time),"%02d:%02d:%02d",
hour, minute, second);
snprintf(data, sizeof(data), "%02d/%02d/%02d",
dayOfMonth, month, year);
myOLED.setFont(SmallFont);
myOLED.print(time, CENTER, 15);
myOLED.print(data, CENTER, 0);
myOLED.printNumF(get3231Temp(), 2, 55, 30);
myOLED.print("C", 43, 30);
myOLED.update();
// получение времени
if (RTC.read(datetime)) {
ListTime[0]= datetime.Hour/10;
ListTime[1]= datetime.Hour%10;
ListTime[2]= datetime.Minute/10;
ListTime[3]= datetime.Minute%10;
ListDay[0]= datetime.Day/10;
ListDay[1]= datetime.Day%10;
ListDay[2]= datetime.Month/10;
ListDay[3]= datetime.Month%10;
}
else {
// ошибка
4dig_display.display(0,ListDay[0]);
4dig_display.display(1,ListDay[1]);
4dig_display.display(2,ListDay[2]);
4dig_display.display(3,ListDay[3]);
4dig_display.point(false);
}
delay(500);
// поменять индикацию точек
point=!point;
delay(1000);
}
вставьте код по правилам, чтобы были номера строк, иначе невозможно обсуждать ошибки.
Что, реально код начинается с четырех пустых строк #include ? - это говорит о многом :)))
4dig_display
Имена не должны начинаться с цифры.
Помогитееееееее исправить ошибку Arduino: 1.8.13 (Windows 7), Плата:"Arduino Uno"
Да тебе, с-ка, лень даже прочитать как программу вставить...
А так копай в: sketch_dec08a:5:1: error: expected unqualified-id before numeric constant
)))
А нам лень в эту говнопростыню вглядываца. Так што давай, досвиданья.
А нам лень в эту говнопростыню вглядываца. Так што давай, досвиданья.
дак вглядывайся не вглядывайся, это что за фигня?
Это у гайвера DEBTH?