Сообщение об ошибке при попытке настроить библиотеку U8g2

compilation-errors oled ssd1306 u8glib

Я просто пытаюсь настроить библиотеку U8g2 для использования OLED. Я прочитал документацию и попытался скопировать и вставить пример блока кода для конструктора, но заменил их информацию информацией моего OLED. После попытки проверки среда IDE вернула эту ошибку: статус выхода 1 ожидается ')' перед токеном ','

#include <SPI.h>
#include <U8g2lib.h>

//Конструктор
U8G2_SSD1306_128X64_NONAME_1_SW_I2C(U8G2_R0,A5,A4);```

Я видел похожий пост об этой проблеме четыре года назад, но единственное предложение заключалось в том, чтобы использовать заглавную букву "A" в аналоговых пинах. Я попробовал это, и ничего не изменилось. Любая помощь приветствуется!

, 👍1

Обсуждение

есть ли правильное количество аргументов в конструкторе?, @jsotola

Согласно веб-сайту, он принимает вращение, часы и данные. В нем также есть [, reset], но у меня нет для этого контакта. https://github.com/olikraus/u8g2/wiki/u8g2setupcpp, @Kayla

я думаю, что вам не хватает имени объекта U8G2_SSD1306_128X64_NONAME_1_SW_I2C abc123(U8G2_R0,A5,A4);, @jsotola


1 ответ


1

Я понял, что делаю не так. Я копировал имя из справочника конструктора и сразу вводил аргументы в скобках. Мне нужно было поставить u8g2 после имени конструктора, а затем указать аргументы. Спасибо!

Исправленный код выглядит следующим образом:

#include <Arduino.h>
#include <SPI.h>
#include <U8g2lib.h>

//Конструктор
U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0,A5,A4);
,

Это не обязательно должно быть "u8g2". Вы можете назвать свой экземпляр Фредом, Джимом или Бобом для всех забот компилятора. Но вы должны дать ему имя., @Delta_G