Помогите пожалуйста. Скопировал код, указанный ниже, и вставил его в скетч (ARDUINO IDE 1.8.9) Код взят со страницы wiki.amperka.ru Код (C++): // библиотека для работы с GPRS устройством #include <GPRS_Shield_Arduino.h> // создаём объект класса GPRS и передаём в него объект Serial1 GPRS gprs(Serial1); // можно указать дополнительные параметры — пины PK и ST // по умолчанию: PK = 2, ST = 3 // GPRS gprs(Serial1, 2, 3); void setup() { // открываем последовательный порт для мониторинга действий в программе Serial.begin(9600); // открываем Serial-соединение с GPRS Shield Serial1.begin(9600); // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе while (!Serial) { } Serial.print("Serial init OK\r\n"); // включаем GPRS шилд gprs.powerOn(); // проверяем есть ли связь с GPRS устройством while (!gprs.init()) { // если связи нет, ждём 1 секунду // и выводим сообщение об ошибке // процесс повторяется в цикле // пока не появится ответ от GPRS устройства delay(1000); Serial.print("Init error\r\n"); } // выводим сообщение об удачной инициализации GPRS Shield Serial.println("GPRS init success"); // отправляем сообщение по указанному номеру с заданным текстом gprs.sendSMS("+79263995140", "Hello SMS from Amperka!"); } void loop() { } При проверке кода выдает ошибку: 'Serial1' was not declared in this scope Почему так?
но вы ее выбрали в настройках? - значит компиляция выполняется для Уно, а код написан для Меги. В частности, на Уно просто нет Serial1 -отсюда и ошибка
Привыкайте сами читать, что вам компилятор пишет - millis1 не обьявлен. Вероятно переменная в 8 строке и в 18 написана по разному - на скрине видно плохо.
Внимательно рассмотрел скетч, всё было написано одинаково. Всё равно переписал всё по новому и ошибка исчезла. Это как то связано с копированием и вставкой кода из другого источника... Спасибо!
Нет. На скрине это разные переменные. Если плохо видите текст, то рекомендую использовать ctrl+<колесико мыши> - это увеличит шрифт в IDE и такие ляпы детектируются быстро. Если вы честно копировали весь код, то это либо недосмотр автора кода, либо намеренная защита. Бывают проблемы с буквами "а" и "a" (латинская/кирилица и т.п.), с пробелами (есть необычные пробелы), с ";" (в некоторых языках это буква в греческом это знак вопроса, а значит имеет другой код, т.е. это не тчк с зпт) и др... Тут примеры некоторых символов есть.
Нет, всё видно было хорошо. Внимательно всё проверил, символы выглядели одинаково, но скопированы они были из книги в формате "djvu". Не раз замечал, что при копировании кода возможны изменения в отдельных символах, но такое вижу впервые. Спасибо за помощь!
Алексей, к чему этот спор - раз компилятор выдал такую ошибку, значит буквы в именах были разные. И точка
Объявлена millisl (Эль), а ошибка в том что не объявлена переменная millis1 (Адын), на скрине сохранилось)
Так там же, на Амперке, есть пример SoftwareSerial, который будет работать и компилироваться под UNO.
С настройкой платы и отправкой проверочного смс я разобрался, всё работает. Никак скетч, из книги, не компилируется. А потом надо будет разбираться с "АТ" командами... У меня шилд Sim800C.