Форумчанам - привет! Возникла такая проблема: я написал библиотеку для кнопки и начал компилировать но вышла вот такая ошибка:
Compiling library "Button"
"C:\\Program Files\\arduino-1.8.13\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\arduino-1.8.13\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\arduino-1.8.13\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\ars69\\Documents\\Документы\\Arduino\\libraries\\Button" "C:\\Users\\ars69\\Documents\\Документы\\Arduino\\libraries\\Button\\Button.cpp" -o "C:\\Users\\ars69\\AppData\\Local\\Temp\\arduino_build_393044\\libraries\\Button\\Button.cpp.o"
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp: In function 'bool isHold()':
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:86:6: error: '_mode' was not declared in this scope
if (_mode) Button::tick();
^~~~~
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:86:6: note: suggested alternative: 'modf'
if (_mode) Button::tick();
^~~~~
modf
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:86:26: error: cannot call member function 'void Button::tick()' without object
if (_mode) Button::tick();
^
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:87:7: error: '_hold_flag' was not declared in this scope
if (_hold_flag) return true;
^~~~~~~~~~
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:88:6: error: '_butt_state' was not declared in this scope
if (_butt_state && _butt_flag && millis() - _tmr > _holdTime && !_hold_flag) {
^~~~~~~~~~~
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:88:21: error: '_butt_flag' was not declared in this scope
if (_butt_state && _butt_flag && millis() - _tmr > _holdTime && !_hold_flag) {
^~~~~~~~~~
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:88:46: error: '_tmr' was not declared in this scope
if (_butt_state && _butt_flag && millis() - _tmr > _holdTime && !_hold_flag) {
^~~~
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:88:53: error: '_holdTime' was not declared in this scope
if (_butt_state && _butt_flag && millis() - _tmr > _holdTime && !_hold_flag) {
^~~~~~~~~
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:88:67: error: '_hold_flag' was not declared in this scope
if (_butt_state && _butt_flag && millis() - _tmr > _holdTime && !_hold_flag) {
^~~~~~~~~~
Используем библиотеку Button в папке: C:\Users\ars69\Documents\Документы\Arduino\libraries\Button (legacy)
exit status 1
Ошибка компиляции для платы Arduino Uno
Написано: переменная не объявлена.
Хотя в файле библиотеки.h в классе в private есть объявление этих переменных.
Скетч:
Файлы библиотеки прикреплены. Пожалуйста, кто знает помогите.
Compiling library "Button"
"C:\\Program Files\\arduino-1.8.13\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Program Files\\arduino-1.8.13\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files\\arduino-1.8.13\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\ars69\\Documents\\Документы\\Arduino\\libraries\\Button" "C:\\Users\\ars69\\Documents\\Документы\\Arduino\\libraries\\Button\\Button.cpp" -o "C:\\Users\\ars69\\AppData\\Local\\Temp\\arduino_build_393044\\libraries\\Button\\Button.cpp.o"
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp: In function 'bool isHold()':
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:86:6: error: '_mode' was not declared in this scope
if (_mode) Button::tick();
^~~~~
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:86:6: note: suggested alternative: 'modf'
if (_mode) Button::tick();
^~~~~
modf
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:86:26: error: cannot call member function 'void Button::tick()' without object
if (_mode) Button::tick();
^
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:87:7: error: '_hold_flag' was not declared in this scope
if (_hold_flag) return true;
^~~~~~~~~~
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:88:6: error: '_butt_state' was not declared in this scope
if (_butt_state && _butt_flag && millis() - _tmr > _holdTime && !_hold_flag) {
^~~~~~~~~~~
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:88:21: error: '_butt_flag' was not declared in this scope
if (_butt_state && _butt_flag && millis() - _tmr > _holdTime && !_hold_flag) {
^~~~~~~~~~
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:88:46: error: '_tmr' was not declared in this scope
if (_butt_state && _butt_flag && millis() - _tmr > _holdTime && !_hold_flag) {
^~~~
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:88:53: error: '_holdTime' was not declared in this scope
if (_butt_state && _butt_flag && millis() - _tmr > _holdTime && !_hold_flag) {
^~~~~~~~~
C:\Users\ars69\Documents\���������\Arduino\libraries\Button\Button.cpp:88:67: error: '_hold_flag' was not declared in this scope
if (_butt_state && _butt_flag && millis() - _tmr > _holdTime && !_hold_flag) {
^~~~~~~~~~
Используем библиотеку Button в папке: C:\Users\ars69\Documents\Документы\Arduino\libraries\Button (legacy)
exit status 1
Ошибка компиляции для платы Arduino Uno
Написано: переменная не объявлена.
Хотя в файле библиотеки.h в классе в private есть объявление этих переменных.
Скетч:
C++:
#include <Button.h>
Button butt(2);
void setup(){
Serial.begin(115200);
}
void loop(){
butt.tick();
if(butt.hasClick()){
Serial.println(butt.getClicks());
}
}
Вложения
-
2.9 KB Просмотры: 4
-
1.1 KB Просмотры: 5
-
519 байт Просмотры: 2