Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не работает код

Uxxxsr Чайкин Ученик (109), открыт 2 недели назад
 #include <TimerOne.h>
#include <Wire.h>
#include <MultiFuncShield.h>
void setup() {
// put your setup code here, to run once:

Timer1.initialize();
MFS.initialize(&Timer1); // initialize multi-function shield library

MFS.write("Hi");
delay(2000);
MFS.blinkDisplay(DIGIT_ALL, ON);
delay(50);
MFS.write("Err1");
delay(2000);
MFS.blinkDisplay(DIGIT_ALL, ON);
delay(50);
MFS.write("Erlg"); // display to 2 decimal places.
delay(2000);
MFS.blinkDisplay(DIGIT_ALL, ON);
delay(50);
MFS.beep();
delay(50);
MPS.write("WELC");
delay(50);
MPS.beep();
delay(50);
MPS.write("LOG1");
delay(500);
MPS.write("WORK");
delay(500);
MPS.beep();
delay(500);
}
int counter=0;
byte ended = false;
void loop() {

}
вот этот код который и не работает с ошибкой
Compilation error: 'MPS' was not declared in this scope
заранее спасибо
4 ответа
Amires Мыслитель (5990) 2 недели назад
В вашем коде ошибка компиляции возникает из-за того, что вы используете `MPS`, вместо правильного `MFS`.

В частности, в строках:
```cpp
MPS.write("WELC");
MPS.beep();
MPS.write("LOG1");
MPS.write("WORK");
MPS.beep();
```

переменная `MPS` должна быть заменена на `MFS`, так как именно `MFS` было объявлено и инициализировано для работы с Multi-Function Shield.

Вот исправленный код:

```cpp
#include <TimerOne.h>
#include <Wire.h>
#include <MultiFuncShield.h>

void setup() {
// Инициализация таймера и Multi-Function Shield
Timer1.initialize();
MFS.initialize(&Timer1); // Инициализация библиотеки Multi-Function Shield

MFS.write("Hi");
delay(2000);
MFS.blinkDisplay(DIGIT_ALL, ON);
delay(50);
MFS.write("Err1");
delay(2000);
MFS.blinkDisplay(DIGIT_ALL, ON);
delay(50);
MFS.write("Erlg"); // Показ числа с двумя знаками после запятой
delay(2000);
MFS.blinkDisplay(DIGIT_ALL, ON);
delay(50);
MFS.beep();
delay(50);
MFS.write("WELC");
delay(50);
MFS.beep();
delay(50);
MFS.write("LOG1");
delay(500);
MFS.write("WORK");
delay(500);
MFS.beep();
delay(500);
}

int counter = 0;
byte ended = false;

void loop() {
// Основной цикл
}
```

После этих изменений код должен компилироваться без ошибок.
Uxxxsr ЧайкинУченик (109) 2 недели назад
спасибо, не заметил такую тупую ошибку)))
Максим Ващенко Ученик (217) 2 недели назад
Чтобы исправить проблему, нужно проверить, что переменная объявлена в заголовке той функции, где используется, или объявить её глобально, за пределами функции main()
Николай Армоньев (живу с бобрами) Мыслитель (6897) 2 недели назад
Ошибка возникает из-за опечатки: вы используете MPS, хотя в коде инициализировали библиотеку как MFS. Замените все вхождения MPS на MFS, и код должен скомпилироваться без ошибок.
Слава Блайт Мудрец (11581) 2 недели назад
 'MPS' was not declared in this scope 
Текст ошибки переведи, раз не доходит.
Похожие вопросы