код выхода 1 нет соответствующей функции для вызова «LiquidCrystal::LiquidCrystal(int, int, int, int, int)»
Код ниже
// включаем код библиотеки:
#include "LiquidCrystal.h"
// инициализируем библиотеку с номерами интерфейсных контактов
LiquidCrystal lcd(2,4,5,6,7);
void setup()
{
// устанавливаем количество столбцов и строк ЖК-дисплея:
lcd.begin(16,2);
// Вывести сообщение на ЖК-дисплей.
lcd.print("hello");
}
void loop()
{
// устанавливаем курсор в столбец 0, строку 1
// (примечание: строка 1 — вторая строка, так как отсчет начинается с 0):
lcd.setCursor(0, 1);
// вывести количество секунд с момента сброса:
lcd.print(millis()/1000);
}
Выдает следующую ошибку:
exit status 1 no matching function for call to 'LiquidCrystal::LiquidCrystal(int, int, int, int, int)'
@jitu, 👍1
1 ответ
▲ 2
Похоже, вы пропустили параметр в вызове lcd()
. Кажется, он принимает шесть аргументов, а не пять.
Из примера Blink
в библиотеке LiquidCrystal
:
// инициализируем библиотеку, связав любой необходимый вывод интерфейса ЖК-дисплея
// с номером контакта Arduino, к которому он подключен
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
Также, взгляните на определение библиотеки из LiquidCrystal.cpp
:
class LiquidCrystal : public Print {
public:
LiquidCrystal(uint8_t rs, uint8_t enable,
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);
LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable,
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);
LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable,
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3);
LiquidCrystal(uint8_t rs, uint8_t enable,
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3);
...
}
Количество аргументов, принимаемых различными перегруженными конструкторами, составляет (соответственно):
- 10
- 11
- 7
- 6
Итак, ваше утверждение:
LiquidCrystal lcd(2,4,5,6,7);
отсутствует параметр (или несколько), так как их всего пять.
Это объясняет, почему ошибка, которую вы видите, содержит пять int
, перечисленных в списке параметров:
'LiquidCrystal::LiquidCrystal(int, int, int, int, int)'
,
@Greenonline
Смотрите также:
- Как разделить входящую строку?
- Как использовать SPI на Arduino?
- Как сбросить или отформатировать Arduino?
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Arduino Due vs Mega 2560
- Как получить уникальный идентификатор для всех плат Arduino?
- Почему я получаю avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?
- Тайм-аут связи Arduino Mega с ошибкой программатора