Ошибка в коде

Александр Б
Offline
Зарегистрирован: 16.01.2021

Здравствуйте возникла ошибка в данном коде:

#include <Wire.h>                   //  подключаем библиотеку для работы с I2C
#include <iarduino_Metro.h>         //  подключаем библиотеку для работы с модулями Metro
uint8_t i = 0;                      //  Задаём переменную для счётчика нажатий
String   A; //  Задаём переменную строки, куда будет записываться значение счётчика
 
 
void setup() {
  iarduino_Metro_Start();           //  Определяем подключенные модули Metro
  Metro[1].off();                   //  Гасим дисплей
}
 
void loop() {
    if (Metro[0].read(KEY_PUSHED)) {  //  Если кнопка "нажималась", то
    i++;                            //  увеличиваем значение переменной на 1
    A = i; //  Записываем значение переменной в строку иc      vb 
    Metro[1].set("Кол-во ворон:" A, 245, 300);      //  выводим строку на дисплей, со скоростью 245 ( 255 - макс. значение ) и повторяем вывод через 300 мс
  }
  if (i > 100) {                    //  Если значение переменной стало больше 100, то
    i = 0;                          //  сбрасываем значение переменной в 0
  }
}
-------------------------------------------------------------------------------------------------------------------------------------
D:\Downloads\sketch_10\sketch_10.ino: In function 'void loop()':
sketch_10:16:44: error: expected ')' before 'A'
     Metro[1].set("Кол-во ворон:" A), 245, 300);      //  выводим строку на дисплей, со скоростью 245 ( 255 - макс. значение ) и повторяем вывод через 300 мс
                                            ^
sketch_10:16:56: error: expected ';' before ')' token
     Metro[1].set("Кол-во ворон:" A), 245, 300);      //  выводим строку на дисплей, со скоростью 245 ( 255 - макс. значение ) и повторяем вывод через 300 мс
                                                        ^
exit status 1
expected ')' before 'A'
 

 

sadman41
Offline
Зарегистрирован: 19.10.2016

And so?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Александр Б пишет:

Здравствуйте возникла ошибка в данном коде:

Попкорн купил. И что?

anatoli_nik
Offline
Зарегистрирован: 17.01.2019

По идее должно заработать:

#include <Wire.h>                   //  подключаем библиотеку для работы с I2C
#include <iarduino_Metro.h>         //  подключаем библиотеку для работы с модулями Metro
uint8_t i = 0;                      //  Задаём переменную для счётчика нажатий
 
void setup() {
  iarduino_Metro_Start();           //  Определяем подключенные модули Metro
  Metro[1].off();                   //  Гасим дисплей
}
 
void loop() {
    if (Metro[0].read(KEY_PUSHED)) {  //  Если кнопка "нажималась", то
    i++;                            //  увеличиваем значение переменной на 1
    Metro[1].set("Кол-во ворон:"+String(i), 245, 300);      //  выводим строку на дисплей, со скоростью 245 ( 255 - макс. значение ) и повторяем вывод через 300 мс
  }
  if (i > 100) {                    //  Если значение переменной стало больше 100, то
    i = 0;                          //  сбрасываем значение переменной в 0
  }
}

 

b707
Offline
Зарегистрирован: 26.05.2017

Александр Б  - откуда уверенность, что модуль 0 - это кнопка, а модуль 1 - дисплей? а почему не наоборот? Может стоит для начала запросить тип модуля по каждому адресу и проверить?