redeclared as different kind of symbol ошибка при компиляции
- Войдите на сайт для отправки комментариев
Втр, 23/06/2020 - 22:37
//возможно нужно было кидать в раздел для новичков
написал код с массивом в котором храню текст , а текст хранится только в String и еще вроде в char , поэтому поставил тип массива String , но при компиляции выдает - redeclared as different kind of symbol , закинул в переводчик - переоформленный как другой вид символа , насколько я понял он не считает мой текст за String , хочется в ответе конкретного что не так и как исправить. спасибо.

#include <iarduino_OLED.h> // Подключаем библиотеку iarduino_OLED.
iarduino_OLED myOLED(0x3C); // адрес для работы с дисплеем по I2c
#define CLK 2 //пин энкодера
#define DT 3//пин энкодера
#define SW 4//пин энкодера
#include "GyverEncoder.h" //энкодер
Encoder enc(CLK, DT, SW);//подключаем энкодер
String menu []= {"добавить канал","удалить канал","удалить все каналы","инф. канала"};
byte oldP=1;
byte nowP=0;
extern uint8_t SmallFontRus[];
void setup() {
// put your setup code here, to run once:
myOLED.begin(); // инициализация работы с дисплеем
Serial.begin(9600);
attachInterrupt(0, isrCLK, CHANGE); // прерывание на 2 пине! CLK у энка
attachInterrupt(1, isrDT, CHANGE); // прерывание на 3 пине! DT у энка
myOLED.setFont(SmallFontRus);
myOLED.setCoding(TXT_UTF8);
}
void isrCLK() {
enc1.tick(); // отработка в прерывании
}
void isrDT() {
enc1.tick(); // отработка в прерывании
}
void loop() {
// put your main code here, to run repeatedly:
myOLED.print("loop"], OLED_C, 31);
while (1){
if (enc.isHolded()==1){
myOLED.clrScr();
menu ();
}
}
}
void menu () {
if (oldP>nowP){
myOLED.invText();
myOLED.print(menu [nowP], OLED_C, 31);
}
else {
myOLED.invText(false);
myOLED.print(menu [oldP], OLED_C, 31);
}
// 2 строчка
if (oldP<nowP){
myOLED.invText();
myOLED.print(menu [nowP], OLED_C, 31);
myOLED.invText(false);
}
else {
myOLED.invText(false);
myOLED.print(menu [oldP], OLED_C, 47);
}
for (byte i=0 ;i<255;i++){
delay (6);
if (isRight()==1){
oldP=nowP;
nowP++;
if (nowP>menu.count){
nowP=0
}
}
if (isLeft()==1){
oldP=nowP;
if (nowP==0){
nowP=menu.count;
}
else{
nowP=nowP-1;
}
}
if (isHolded()==1){
myOLED.clrScr();
loop() ;
}
}
}
loop() ;
}
строка 41
у вас массив в строке 8 и процедура в строке 41 обе называются menu.
переименуйте что-нить
мда, тупанул.спасибо!