вот в этом скетче
C++ (Qt) | ||
|
выдаётся ошибка Arduino: 1.6.13 (Windows 8.1), Плата:»Arduino/Genuino Uno»
sketch_dec10a:9: error: stray ‘240’ in program
NewPing*sonar(TRIGGER_PIN,*ECHO_PIN,*MAX_DISTANCE) ;
^
sketch_dec10a:9: error: stray ‘240’ in program
sketch_dec10a:9: error: stray ‘240’ in program
sketch_dec10a:10: error: stray ‘240’ in program
*
^
sketch_dec10a:11: error: stray ‘240’ in program
void*setup()
^
sketch_dec10a:13: error: stray ‘240’ in program
****Serial.begin(9600);
^
sketch_dec10a:13: error: stray ‘240’ in program
sketch_dec10a:13: error: stray ‘240’ in program
sketch_dec10a:13: error: stray ‘240’ in program
sketch_dec10a:14: error: stray ‘240’ in program
***lcd.begin(16, 2);
^
sketch_dec10a:14: error: stray ‘240’ in program
sketch_dec10a:14: error: stray ‘240’ in program
sketch_dec10a:16: error: stray ‘240’ in program
*
^
sketch_dec10a:17: error: stray ‘240’ in program
void*loop()
^
sketch_dec10a:19: error: stray ‘240’ in program
****int*uS*=*sonar.ping();
^
sketch_dec10a:19: error: stray ‘240’ in program
sketch_dec10a:19: error: stray ‘240’ in program
sketch_dec10a:19: error: stray ‘240’ in program
sketch_dec10a:19: error: stray ‘240’ in program
sketch_dec10a:19: error: stray ‘240’ in program
sketch_dec10a:19: error: stray ‘240’ in program
sketch_dec10a:20: error: stray ‘240’ in program
****long*length_cm*=*uS*/*US_ROUNDTRIP_CM;
^
sketch_dec10a:20: error: stray ‘240’ in program
sketch_dec10a:20: error: stray ‘240’ in program
sketch_dec10a:20: error: stray ‘240’ in program
sketch_dec10a:20: error: stray ‘240’ in program
sketch_dec10a:20: error: stray ‘240’ in program
sketch_dec10a:20: error: stray ‘240’ in program
sketch_dec10a:20: error: stray ‘240’ in program
sketch_dec10a:20: error: stray ‘240’ in program
sketch_dec10a:21: error: stray ‘240’ in program
****lcd.setCursor(0, 0);
^
sketch_dec10a:21: error: stray ‘240’ in program
sketch_dec10a:21: error: stray ‘240’ in program
sketch_dec10a:21: error: stray ‘240’ in program
sketch_dec10a:22: error: stray ‘240’ in program
****lcd.print(«Ping:*»);
^
sketch_dec10a:22: error: stray ‘240’ in program
sketch_dec10a:22: error: stray ‘240’ in program
sketch_dec10a:22: error: stray ‘240’ in program
sketch_dec10a:23: error: stray ‘240’ in program
****lcd.print(length_cm);
^
sketch_dec10a:23: error: stray ‘240’ in program
sketch_dec10a:23: error: stray ‘240’ in program
sketch_dec10a:23: error: stray ‘240’ in program
sketch_dec10a:25: error: stray ‘240’ in program
****lcd.println(«cm»);
^
sketch_dec10a:25: error: stray ‘240’ in program
sketch_dec10a:25: error: stray ‘240’ in program
sketch_dec10a:25: error: stray ‘240’ in program
sketch_dec10a:26: error: stray ‘240’ in program
********delay(1000);
^
sketch_dec10a:26: error: stray ‘240’ in program
sketch_dec10a:26: error: stray ‘240’ in program
sketch_dec10a:26: error: stray ‘240’ in program
sketch_dec10a:26: error: stray ‘240’ in program
sketch_dec10a:26: error: stray ‘240’ in program
sketch_dec10a:26: error: stray ‘240’ in program
sketch_dec10a:26: error: stray ‘240’ in program
sketch_dec10a:9: error: ‘MAX_DISTANCE’ was not declared in this scope
NewPing*sonar(TRIGGER_PIN,*ECHO_PIN,*MAX_DISTANCE) ;
^
exit status 1
stray ‘240’ in program
как это исправить?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
Прошу помощи разобраться.
Offline
Зарегистрирован: 10.12.2017
Доброго втремени суток господа форумчане. Прошу помощи разобраться в этом проекте. Что то я ника не могу понять почему он не хочет компелироваться.
/* * RCWController SAMPLE Program * ESP-WROOM-2 & WALLBOT * 2016/2/18 by Michio Ono * http://rcwcontroller.micutil.com */ */ //For Debugging active flag and read out via serial: //#define DEBUG #include <ESP8266WiFi.h> #include <WiFiUdp.h> #include <EEPROM.h> WiFiServer server(80); WiFiUDP Udp; //client ssid and pw stored in EEPROM! String ssid = ""; String pass = ""; #define SssidAP "Z21_ESP" // Default Z21 AP (SSID) #define SpassAP "12345678" // Default Z21 network password #define SkanalAP 6 // Default Kanal des APSP LPC1768 #define Left_PWM 12 // PIN4 <-> PIN21 #define Left_FWD 14 // PIN3 <-> #define Left_REV 15 // PIN6 <-> #define Rght_PWM 13 // PIN5 <-> PIN22 #define Rght_FWD 4 // PIN10 <-> #define Rght_REV 5 // PIN14 <-> // PIN18 <-> PIN1 : GND const char ssid[] = "ESP-WallBot"; // your network SSID (name) const char pass[] = "esp8266ap"; // your network password WiFiUDP udp; unsigned int localPort = 10000; const int PACKET_SIZE = 256; char packetBuffer[PACKET_SIZE]; int status = WL_IDLE_STATUS; int prev_S=128; Motor *left_track; Motor *right_track; void setup() { Serial.begin(115200); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } WiFi.softAP(ssid, pass); IPAddress myIP = WiFi.softAPIP(); Serial.print("AP IP address: "); Serial.println(myIP); Serial.println("Starting UDP"); udp.begin(localPort); Serial.print("Local port: "); Serial.println(udp.localPort()); left_track = new Motor(Left_PWM, Left_FWD, Left_REV); right_track = new Motor(Rght_PWM, Rght_FWD, Rght_REV); left_track->Stop(); right_track->Stop(); } void loop() { int rlen, val_V=0,val_S=128; while (1) { rlen = udp.parsePacket(); if(rlen<10) { delay(1); continue; } udp.read(packetBuffer, (rlen > PACKET_SIZE) ? PACKET_SIZE : rlen); val_S=packetBuffer[5]; if(val_S!=prev_S) { //Right analogue y-axis left_track->ChangeSpeed(val_S); right_track->ChangeSpeed(val_S); prev_S=val_S; } val_V=packetBuffer[1]; if(val_V) { switch (val_V) { case 1://Left cross up left_track->ChangeDirection((boolean)FORWARD); right_track->ChangeDirection((boolean)FORWARD); break; case 2://Left cross down left_track->ChangeDirection((boolean)REVERSE); right_track->ChangeDirection((boolean)REVERSE); break; case 4://Left cross right left_track->ChangeDirection((boolean)REVERSE); right_track->ChangeDirection((boolean)FORWARD); break; case 8://Left cross right left_track->ChangeDirection((boolean)FORWARD); right_track->ChangeDirection((boolean)REVERSE); break; } left_track->Rotate(); right_track->Rotate(); } else { //Release button left_track->Stop(); right_track->Stop(); } /* for(int i=0;i<rlen;i++) { Serial.printf("%d",packetBuffer[i]); } Serial.printf("n"); */ //delay(10); } }
Arduino.ru
в чем ошибка
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
#define DATA_PIN 13 // пин данных (англ. data)
#define LATCH_PIN 12 // пин строба (англ. latch)
#define CLOCK_PIN 11 // пин такта (англ. clock)
#define BUTTON_PIN 10
int clicks = 0;
boolean buttonWasUp = true;
byte segments[10] = <
0b01111101, 0b00100100, 0b01111010, 0b01110110, 0b00100111,
0b01010111, 0b01011111, 0b01100100, 0b01111111, 0b01110111
>;
void setup()
<
pinMode(DATA_PIN, OUTPUT);
pinMode(CLOCK_PIN, OUTPUT);
pinMode(LATCH_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
>
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
1AppDataLocalTemparduino_build_677421 -warnings=none -build-cache C:Users2AEA
1AppDataLocalTemparduino_cache_350815 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:Program FilesArduinohardwaretoolsavr -prefs=runtime.tools.avr-gcc.path=C:Program FilesArduinohardwaretoolsavr -prefs=runtime.tools.avrdude.path=C:Program FilesArduinohardwaretoolsavr -verbose C:UsersАнварDocumentsArduinosketch_seven_segment_klikersketch_seven_segment_kliker.ino
C:Program FilesArduinoarduino-builder -compile -logger=machine -hardware C:Program FilesArduinohardware -tools C:Program FilesArduinotools-builder -tools C:Program FilesArduinohardwaretoolsavr -built-in-libraries C:Program FilesArduinolibraries -libraries C:UsersАнварDocumentsArduinolibraries -fqbn=arduino:avr:uno -ide-version=10802 -build-path C:Users2AEA
1AppDataLocalTemparduino_build_677421 -warnings=none -build-cache C:Users2AEA
Источник
Arduino.ru
слетает прошивка
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
После отключения питания аодуины nano китай через некоторое время, не более 15мин, слетает прошивка. Reset не помогает.
Что можно предпринять, или выбрасывать?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
1. Как это проявляется?
2. Где ссылка на товар (ардуинку)?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Поищите по форуму. Темы про слетающую прошивку у Нано были, и народ решал эти проблемы.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Поищите по форуму. Темы про слетающую прошивку у Нано были, и народ решал эти проблемы.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Там в сообщении #4 есть скетч, с помощью которого можно фьюзы посмотреть. Смотрели их? Какие они у Вас?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Спасибо всем участвующим.
Нашёл, что по умолчанию отключена схема контроля питания.
Вопрос: возможно ли через arduino IDE редактировать биты фьюзов? Если да, то, пожалуйста, по возможности скетч соответствующий.
Заранее благодарен,
Алексей.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
По умолчанию он как раз включен. Но в некоторых бывает и выключен. Фьюзы то какие у Вас?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Нет. Используйте консольную утилиту avrdude или любую графическую оболочку для неё.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Ещё лучше программатор, или вторая ардуинка как программатор (вроде бы, точно не знаю) должна сработать.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
По умолчанию он как раз включен. Но в некоторых бывает и выключен. Фьюзы то какие у Вас?
при попытке компилировать и загрузить чтение фьюзов:
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
при попытке компилировать и загрузить чтение фьюзов:
И чо? У тебя какой-то вопрос есть? А чего не задал?
А пишет правильно. Если ты не умеешь не только сам писать программы, но даже чужие с сайта стырить — так чего ж тебе писать?
Пока ты тырил программу в ней оказались символы разметки, которые ты не видишь, а компилятор — видит. Избавься от них и будет тебе счастье.
Источник
mirsovetov.net
Андрощук Александр, ИТ решения, советы, заметки…
stray # in program
При компиляции проекта в Android IDE возникла ошибка
LampCore:20: error: stray ‘302’ in program
Код, который вызывал ошибку не был какой то особенный, была объявлена простенькая структура с полями:
В моем случае ошибка возникла из за того, что я случайно в названии структуры Config написал не латинский символ C. Самое интересное что с виду все кажется в порядке, а на самом деле это не так, и возникает ошибка «stray ‘320’ in program».
Так что решение — использовать только латинские символы (это не касается комментариев).
Также могут возникать другие ошибки такого же рода, только с другим кодом
Скорее всего что следующие ошибки:
error stray 2 in program
error stray 200 in program
error stray 201 in program
error stray 213 in program
error stray 223 in program
error stray 226 in program
error stray 227 in program
error stray 240 in program
error stray 253 in program
error stray 273 in program
error stray 302 in program
error stray 320 in program
error stray 321 in program
error stray 340 in program
error stray 342 in program
error stray 357 in program
error stray 361 in program
тоже связанны с этой проблемой, если это не так, пожалуйста отпишитесь в комментариях.
Источник
Arduino.ru
Прошу помощи разобраться.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Доброго втремени суток господа форумчане. Прошу помощи разобраться в этом проекте. Что то я ника не могу понять почему он не хочет компелироваться.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
укажите ошибку компиляции.
Только пожалуйста. не в виде скриншота — просто скопируйте как текст и вставьте в сообщение.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Как минимум, 22 и 23 строки — лишние
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
послушайте, вы читаете, что вам пишут? — ошибку компиляции укажите!
Чей это проект и кто автор — здесь никому не интересно. Если у вас претензии к автору скетче — ему и пишите.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Так вот еще раз новый скейч. (в том возможны поправки этот не копанный)
поначалу ему не хватало библиотеки для компиляции «TB6612FNG.h»
я еедобавил в папку со скейчем, по другому он ее не видет.
А теперь вот такая ошибка.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Esp8266_UDP_TB6612_Ex01:19: error: stray ‘302’ in program
такая ошибка возникает, если вы скопировали скетч из интернета как HTML, а не как текст.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Нет там у автора кнопка есть. Он копируется архивом в нем две папки для windows и ios
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Нет там у автора кнопка есть. Он копируется архивом в нем две папки для windows и ios
Ну значит в архиве так лежит. Но Вам совершенно чётко пишут — в строках непонятные символы.
Можете даже в Word скетч открыть, включить отображение непечатаемых символов и Вы их все увидите. Концы строк естественно нужны, а остальное — мусор.
Источник
Arduino.ru
Ошибка 40: error: stray ‘’ in program
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Добрый день. Написал вот такую программульку:
// константы
const int dw = 12; // датчик уровня воды на 12 пин
const int dg1 = 11; // датчик влажности почвы на 11 пин
const int dg2 = 10; // датчик влажности почвы на 10 пин
const int dg3 = 9; // датчик влажности почвы на 9 пин
const int dg4 = 8; // датчик влажности почвы на 8 пин
const int dg5 = 7; // датчик влажности почвы на 7 пин
const int nasos1 = 2; // управление насосом на 2 пин
const int nasos2 = 3; // управление насосом на 3 пин
const int nasos3 = 4; // управление насосом на 4 пин
const int nasos4 = 5; // управление насосом на 5 пин
const int nasos5 = 6; // управление насосом на 6 пин
const int ledB = 1; // звуковой пъезоэлемент на 1 пин
// переменные
int dwS = 0; // состояние датчика уровня воды
int dgS1 = 0; // состояние датчика уровня влажности почвы Nr1
int dgS2 = 0; // состояние датчика уровня влажности почвы Nr2
int dgS3 = 0; // состояние датчика уровня влажности почвы Nr3
int dgS4 = 0; // состояние датчика уровня влажности почвы Nr4
int dgS5 = 0; // состояние датчика уровня влажности почвы Nr5
//установки
void setup() <
// объявляем пины светодиодов и насоса как выходы:
pinMode(nasos1, OUTPUT);
pinMode(nasos2, OUTPUT);
pinMode(nasos3, OUTPUT);
pinMode(nasos4, OUTPUT);
pinMode(nasos5, OUTPUT);
pinMode(ledB, OUTPUT);
// объявляем пины датчиков и насоса как входы:
pinMode(dw, INPUT);
pinMode(dg1, INPUT);
pinMode(dg2, INPUT);
pinMode(dg3, INPUT);
pinMode(dg4, INPUT);
pinMode(dg5, INPUT);
>
// рабочий цикл
void 1оор() <
// считываем состояния датчика уровня жидкости
dwS = digitalRead(dw);
// если воды мало звуковой пъезоэлемент
if (dwS == LOW)
digitalWrite(ledB, HIGH);
else
digitalWrite(ledB, LOW);
// считываем состояния датчика влажности почвы Nr1
dgS1 = digitalRead(dg1);
// если почва сухая, включаем полив насоса Nr1
if (dgS1 == LOW)
digitalWrite(nasos1, HIGH);
delay(2000);
digitalWrite(nasos1, LOW);
delay(30000);
else
digitalWrite(nasos1, LOW);
// считываем состояния датчика влажности почвы Nr2
dgS2 = digitalRead(dg2);
// если почва сухая, включаем полив насоса Nr2
if (dgS2 == LOW)
digitalWrite(nasos2, HIGH);
delay(2000);
digitalWrite(nasos2, LOW);
delay(30000);
else
digitalWrite(nasos2, LOW);
// считываем состояния датчика влажности почвы Nr3
dgS3 = digitalRead(dg3);
// если почва сухая, включаем полив насоса Nr3
if (dgS3 == LOW)
digitalWrite(nasos3, HIGH);
delay(2000);
digitalWrite(nasos3, LOW);
delay(30000);
else
digitalWrite(nasos3, LOW);
// считываем состояния датчика влажности почвы Nr4
dgS4 = digitalRead(dg4);
// если почва сухая, включаем полив насоса Nr4
if (dgS4 == LOW)
digitalWrite(nasos4, HIGH);
delay(2000);
digitalWrite(nasos4, LOW);
delay(30000);
else
digitalWrite(nasos4, LOW);
// считываем состояния датчика влажности почвы Nr5
dgS5 = digitalRead(dg5);
// если почва сухая, включаем полив насоса Nr5
if (dgS1 == LOW)
digitalWrite(nasos5, HIGH);
delay(2000);
digitalWrite(nasos5, LOW);
delay(30000);
else
digitalWrite(nasos5, LOW);
>
Примитивная до безобразия, но при компиляции выдаёт ошибки:
Arduino: 1.6.5 (Windows 8.1), Board: «Arduino Leonardo»
Cveti_Lacplesa_42_2_5pump:40: error: stray ‘’ in program
Cveti_Lacplesa_42_2_5pump:40: error: stray ‘’ in program
Cveti_Lacplesa_42_2_5pump:40: error: stray ‘’ in program
Cveti_Lacplesa_42_2_5pump:40: error: expected unqualified-id before numeric constant
stray ‘’ in program
This report would have more information with
«Show verbose output during compilation»
enabled in File > Preferences.
Источник
-
Скачал программу 2DC_Motor_Shield.ino с амперки компилирую выдаёт ошибку:
Arduino: 1.6.11 (Windows 10), Плата:»Arduino/Genuino Uno»
sketch_jul18c:6: error: stray ‘302’ in program
sketch_jul18c:6: error: stray ‘240’ in program
sketch_jul18c:9: error: stray ‘302’ in program
sketch_jul18c:9: error: stray ‘240’ in program
sketch_jul18c:10: error: stray ‘302’ in program
sketch_jul18c:10: error: stray ‘240’ in program
sketch_jul18c:17: error: stray ‘302’ in program
sketch_jul18c:17: error: stray ‘240’ in program
sketch_jul18c:25: error: stray ‘302’ in program
sketch_jul18c:25: error: stray ‘240’ in program
sketch_jul18c:29: error: stray ‘302’ in program
sketch_jul18c:29: error: stray ‘240’ in program
sketch_jul18c:32: error: stray ‘302’ in program
sketch_jul18c:32: error: stray ‘240’ in program
sketch_jul18c:39: error: stray ‘302’ in program
sketch_jul18c:39: error: stray ‘240’ in program
exit status 1
stray ‘302’ in program
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции» -
Опять лезу, куда не просят! Простите! Но:
// Моторы подключаются к клеммам M1+, M1-, M2+, M2-
// Motor shield использует четыре контакта 4, 5, 6, 7 для управления моторами
// 4 и 7 — для направления, 5 и 6 — для скорости
#define SPEED_1 5
#define DIR_1 4#define SPEED_2 6
#define DIR_2 7void setup()
{
// Настраивает выводы платы 4, 5, 6, 7 на вывод сигналов
for(int i = 4; i < 8; i++)
pinMode(i, OUTPUT);
}void loop()
{
// Для коллекторного мотора можно выбрать значение скорости от 0 до 255.
// Покрутим в течении секунды M1 на средней скорости сначала в одну сторону…
analogWrite(SPEED_1, 126);
digitalWrite(DIR_1, LOW);
delay(1000);// … а затем в другую.
digitalWrite(DIR_1, HIGH);
delay(1000);// После чего остановим мотор 1
analogWrite(SPEED_1, 0);// А теперь заставим мотор 2 медленно разгоняться до максимума
for (int i=0; i <= 255; ++i)
{
analogWrite(SPEED_2, i);
delay(50);
}// Теперь он будет крутится до нажатия на Reset или выключения питания
while (true) [I][B]//???[/B][/I]
; //???
}Мне не нравится:
while (true) //???; //???
Я всегда так:
while (true);
Хотя запустил ARDUINO IDE и проверил. Всё нормально. Смотрите куда вы вставили русские буквы.Вот специально поставил:
// … а затем в другую.
digitalWrite(DIR_1, HIGH);
delay(1000); ппп
п
па
ви вот отчёт:
sketch_jul18a.cpp:31:3: error: stray ‘’ in program
sketch_jul18a.cpp:31:3: error: stray ‘’ in program
sketch_jul18a.cpp:31:3: error: stray ‘’ in program
sketch_jul18a.cpp:32:3: error: stray ‘’ in program
sketch_jul18a.cpp:33:3: error: stray ‘’ in program
sketch_jul18a.cpp:33:3: error: stray ‘’ in program
sketch_jul18a.cpp:34:3: error: stray ‘’ in program
sketch_jul18a.cpp: In function ‘void loop()’:
sketch_jul18a.cpp:31:17: error: ‘u043f’ was not declared in this scope
sketch_jul18a.cpp:31:23: error: expected ‘;’ before ‘u043f’
тут число 31 — номер строки с ошибкой:
sketch_jul18a.cpp:31:3: error: stray ‘’ in program -
Извините так что надо менять? Просто я не особо знаю язык, я только 2 день занимаюсь
-
Вот ругань:
sketch_jul18c:6: error: stray ‘302’ in program
sketch_jul18c:6: error: stray ‘240’ in program
sketch_jul18c:9: error: stray ‘302’ in program
sketch_jul18c:9: error: stray ‘240’ in program
покажите эту самую шестую строку хотябы… именно Вашим редактором среды разработки. У меня Ваш код по ссылке нормально компилируется с помощью Arduino IDE
-
Я решил скачать по ссылке. Arduino IDE не может открыть его. Может быть что то с версией?
Пишет невозможно создать скетч.
Problem: Can’t compile the code after clicking on Compile and Execute button, the output in DevC++ compiler panel show error [Error] stray 240 in the program.
The detailed error message as below:
[Error] stray '240' in program
Follow the below solution steps to resolve stray 240 in program error.
Error: stray '240' in program
is a character encoding error message. 240 is a non-breaking space in iso8859-1 encoding used on web pages, especially when the code shouldn’t get line-wrapped by the browser. The compiler doesn’t understand non-breaking space and reports about a straying special character error.
eg.
Do printf("Anything");
instead of printf("Anything");
Content Summary
Potential Causes
Solution
Potential Causes
- It appears you have illegal/invalid/invisible characters in your source, probably Unicode NO-BREAK SPACE characters, encoded as “302240” (octal), this generally comes when you copy and paste the code in an IDE from another website or document and there are some non-ASCII character encoding.
- Unacceptable words to the language got copied giving rise to this error.
- Copying and pasting from Adobe Acrobat and Adobe Reader may result in an error.
- If you had opened or edited your source code with an editor that enters non-breaking spaces instead of the common whitespace. That might happen if you push shift-space instead of only space, depending on the editor you use. In a trivial editor, you only see nothing as expected like when you push the space key.
Solution
Solution 1
Select one of these spaces and use Find and Replace function to substitute all matches with regular spaces.
Solution 2
Start with a new document with blank file, and rewrite the code manually instead of copying and pasting.
Solution 3
Write a simple program that reads the file, and replaces the 24′ characters with spaces.
Solution 4
Paste the code in Microsoft Word using the Keep text Only paste option, all the ASCII characters causing errors will be removed.
Copy and paste the code into Microsoft Word using the Keep Text Only paste option. This will remove any ASCII characters which may cause errors.
Solution 5
Copy the code to Wordpad then cut a single space from anywhere in that word file and use replace all to replace that space (which is cut) with another space key you entered.
Содержание
- mirsovetov.net
- Андрощук Александр, ИТ решения, советы, заметки…
- stray # in program
- Типичные ошибки Arduino, читать всем новичкам или сносим не предупреждая!
- mechanic
- Error stray 320 in program
- migrated from security.stackexchange.com Oct 5 ’13 at 13:26
- 13 Answers 13
- 2 Answers 2
- protected by Community ♦ Jan 7 ’18 at 7:47
- maccatalan
mirsovetov.net
Андрощук Александр, ИТ решения, советы, заметки…
stray # in program
При компиляции проекта в Android IDE возникла ошибка
LampCore:20: error: stray ‘302’ in program
Код, который вызывал ошибку не был какой то особенный, была объявлена простенькая структура с полями:
В моем случае ошибка возникла из за того, что я случайно в названии структуры Config написал не латинский символ C. Самое интересное что с виду все кажется в порядке, а на самом деле это не так, и возникает ошибка «stray ‘320’ in program».
Так что решение — использовать только латинские символы (это не касается комментариев).
Также могут возникать другие ошибки такого же рода, только с другим кодом
Скорее всего что следующие ошибки:
error stray 2 in program
error stray 200 in program
error stray 201 in program
error stray 213 in program
error stray 223 in program
error stray 226 in program
error stray 227 in program
error stray 240 in program
error stray 253 in program
error stray 273 in program
error stray 302 in program
error stray 320 in program
error stray 321 in program
error stray 340 in program
error stray 342 in program
error stray 357 in program
error stray 361 in program
тоже связанны с этой проблемой, если это не так, пожалуйста отпишитесь в комментариях.
Источник
Типичные ошибки Arduino, читать всем новичкам или сносим не предупреждая!
mechanic
ЧИТАЕМ, НЕ ЛЕНИМСЯ!
99% всех проблем прошивки написаны здесь!
1. Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:
- Неисправен USB кабель
- Неисправен USB порт компьютера
- Неисправен USB порт Arduino
- Попробуйте другой компьютер, чтобы исключить часть проблем из списка
- Попробуйте другую плату (желательно новую), чтобы исключить часть проблем из списка
- На плате Arduino сгорел входной диод по линии USB из-за короткого замыкания, устроенного пользователем при сборке схемы
- Плата Arduino сгорела полностью из-за неправильного подключения пользователем внешнего питания или короткого замыкания
2. Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:
- См. предыдущий список неисправностей
- Кабель должен быть data-кабелем, а не “зарядным”
- Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб
- Не установлены драйверы Arduino (во время установки IDE или из папки с программой), вернитесь к установке.
3. В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, обычно COM3. Если этого не произошло:
- См. предыдущий список неисправностей
- Некорректно установлен драйвер CH341 из предыдущего урока
- Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
- Возникла системная ошибка, обратитесь к знакомому компьютерщику
Возникает на этапе сборки и компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки, то есть проблема сугубо софтварная. Слева от кнопки “загрузить” есть кнопка с галочкой – проверка. Во время проверки производится компиляция прошивки и выявляются ошибки, если таковые имеются. Ардуино в этом случае может быть вообще не подключена к компьютеру.
- В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
- В чёрном окошке в самом низу Arduino IDE можно прочитать полный текст ошибки и понять, куда копать
- В скачанных с интернета готовых скетчах часто возникает ошибка с описанием название_файла.h no such file or directory. Это означает, что в скетче используется библиотека , и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по название файла.
- При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
- Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
- Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча
- Ошибка недостаточно свободного места возникает по вполне понятным причинам. Если в проекте используется плата Nano на процессоре 328p, а вы сэкономили три рубля и купили на 168 процессоре – скупой платит дважды. Оптимизация: статическая память – память, занимаемая кодом (циклы, функции). Динамическая память занята переменными.
Частые ошибки в коде, приводящие к ошибке компиляции
- expected ‘,’ or ‘;’ – пропущена запятая или точка запятой на предыдущей строке
- stray ‘320’ in program – русские символы в коде
- expected unqualified-id before numeric constant – имя переменной не может начинаться с цифры
- … was not declared in this scope – переменная или функция используется, но не объявлена. Компилятор не может её найти
- redefinition of … – повторное объявление функции или переменной
- storage size of … isn’t known – массив задан без указания размера
Возникают на этапе, когда прошивка собрана, скомпилирована, в ней нет критических ошибок, и производится загрузка в плату по кабелю. Ошибка может возникать как по причине неисправностей железа, так и из-за настроек программы и драйверов.
- USB кабель, которым подключается Arduino, должен быть Data-кабелем, а не кабелем только для зарядки. Нужным нам кабелем подключаются к компьютеру плееры и смартфоны.
- Причиной ошибки загрузки являются не установленные/криво установленные драйвера CH340, если у вас китайская NANO.
- Также будет ошибка avrdude: ser_open(): can’t open device, если не выбран COM порт, к которому подключена Arduino. Если кроме COM1 других портов нет – читай два пункта выше, либо попробуй другой USB порт, или вообще другой компьютер.
- Большинство проблем при загрузке, вызванных “зависанием” ардуины или загрузчика, лечатся полным отключением ардуины от питания. Потом вставляем USB и по новой прошиваем.
- Причиной ошибки загрузки может быть неправильно выбранная плата в “Инструменты/Плата”, а также неправильно выбранный процессор в “Инструменты/Процессор”. Также в свежих версиях IDE нужно выбирать ATmega328P (Old Bootloader) для китайских плат NANO.
- Если у вас открыт монитор COM порта в другом окне Arduino IDE или плата общается через СОМ порт с другой программой (Ambibox, HWmonitor, SerialPortPlotter и т.д.), то вы получите ошибку загрузки, потому что порт занят. Отключитесь от порта или закройте другие окна и программы.
- Если у вас задействованы пины RX или TX – отключите от них всё! По этим пинам Arduino общается с компьютером, в том числе для загрузки прошивки.
- Если в описании ошибки встречается bootloader is not responding и not in sync, а все предыдущие пункты этого списка проверены – с вероятностью 95% сдох загрузчик. Второй неприятный исход – загрузчик “слетел”, и его можно прошить заново.
Помимо ошибок, по причине которых проект вообще не загрузится в плату и не будет работать, есть ещё предупреждения, которые выводятся оранжевым текстом в чёрной области лога ошибок. Предупреждения могут появиться даже тогда, когда выше лога ошибок появилась надпись “Загрузка завершена“. Это означает, что в прошивке нет несовместимых с жизнью ошибок, она скомпилировалась и загрузилась в плату. Что же тогда означают предупреждения? Чаще всего можно увидеть такие:
- # Pragma message……. – сообщения с директивой Pragma обычно выводят библиотеки, сообщая о своей версии или каких-то настройках
- Недостаточно памяти, программа может работать нестабильно – Чуть выше этого предупреждения обычно идёт информация о задействованной памяти. Память устройства можно добивать до 99%, ничего страшного не случится. Это флэш память и во время работы она не изменяется. А вот динамическую память желательно забивать не более 85-90%, иначе реально могут быть непонятные глюки в работе, так как память постоянно “бурлит” во время работы. НО. Это зависит от скетча и в первую очередь от количества локальных переменных. Можно написать такой код, который будет стабильно работать при 99% занятой SRAM памяти. Так что ещё раз: это всего лишь предупреждение, а не ошибка.
Завершая раздел Введение в Arduino поговорим о вопросах, которые очень часто возникают у новичков:
- Ардуину можно прошить только один раз? Нет, несколько десятков тысяч раз, всё упирается в ресурс flash памяти. А он довольно большой.
- Как стереть/нужно ли стирать старую прошивку при загрузке новой? Память автоматически очищается при прошивке, старая прошивка автоматически удаляется.
- Можно ли записать две прошивки, чтобы они работали вместе? Нет, при прошивке удаляются абсолютно все старые данные. Из двух прошивок нужно сделать одну, причём так, чтобы не было конфликтов.
- Можно ли “вытащить” прошивку с уже прошитой Ардуины?Теоретически можно, но только в виде нечитаемого машинного кода, в который преобразуется прошивка на С++ при компиляции, т.е. вам это НИКАК не поможет, если вы не имеете диплом по низкоуровневому программированию.
- Зачем это нужно? Например есть у нас прошитый девайс, и мы хотим его “клонировать”. В этом случае да, есть вариант сделать дамп прошивки и загрузить его в другую плату на таком же микроконтроллере.
- Если есть желание почитать код – увы, прошивка считывается в виде бинарного машинного кода, превратить который обратно в читаемый Си-подобный код обычному человеку не под силу
- Вытащить прошивку, выражаясь более научно – сделать дамп прошивки, можно при помощи ISP программатора, об этом можно почитать здесь
- Снять дамп прошивки можно только в том случае, если разработчик не ограничил такую возможность, например записав лок-биты, запрещающие считывание Flash памяти, или вообще отключив SPI шину. Если же разработчик – вы, и есть желание максимально защитить своё устройство от копирования – гуглите про лок-биты и отключение SPI
Источник
Error stray 320 in program
I am having problem compiling the followed exploit code:
I am using: «gcc file.c» and «gcc -O2 file.c» but both of them gets the following errors:
I tried compiling them on both Kali linux and Ubuntu 10.04 and get the same result.
migrated from security.stackexchange.com Oct 5 ’13 at 13:26
This question came from our site for information security professionals.
13 Answers 13
You have an invalid character on that line. This is what I saw:
You have invalid chars in your source. If you don’t have any valid non ascii chars in your source, maybe in a double quoted string literal, you can simply convert your file back to ascii with:
Edit: method with iconv will stop at wrong chars which makes no sense. The above command line is working with the example file. Good luck 🙂
I got the same with a character that visibly appeared as an asterisk, but was a UTF-8 sequence instead.
When compiled returned:
342 210 227 turns out to be UTF-8 for ASTERISK OPERATOR.
Deleting the ‘*’ and typing it again fixed the problem.
Whenever compiler found special character .. it gives these king of compile error . what error i found is as following
error: stray ‘302’ in program and error: stray ‘240’ in program
Some piece of code i copied from chatting messanger. In messanger it was special character only.. after copiying into vim editor it changed to correct character only. But compiler was giving above error .. then .. that stamenet i wrote mannualy after .. it got resolve.. 🙂
It’s perhaps because you copied code from net ( from a site which has perhaps not an ASCII encoded page, but UTF-8 encoded page), so you can convert the code to ASCII from this site :
There you can either detect errors manually by converting it back to UTF-8, or you can automatically convert it to ASCII and remove all the stray characters.
Codo was exactly right on Oct. 5 that ¤t[i] is the intended text (with the currency symbol inadvertently introduced when the source was put into HTML (see original): http://downloads.securityfocus.com/vulnerabilities/exploits/59846-1.c
Codo’s change makes this exploit code compile without error. I did that and was able to use the exploit on Ubuntu 12.04 to escalate to root privilege.
The explanations given here are correct. I just wanted to add that this problem might be because you copied the code from somewhere, from a website or a pdf file due to which there are some invalid characters in the code.
Try to find those invalid characters, or just retype the code if you can’t. It will definitely compile then.
With me this error ocurred when I copied and pasted a code in text format to my editor (gedit). The code was in a text document (.odt) and I copied it and pasted it into gedit. If you did the same, you have manually rewrite the code.
I noticed an issue in using the above tr command. The tr command COMPLETELY removes the «smart quotes». It would be better to replace the «smart quotes» with something like this.
This will give you a quick preview of what will be replaced.
This will do the replacements and put the replacement in a new file called WithoutSmartQuotes.txt.
sed s/[”“]/’»’/g File.txt > WithoutSmartQuotes.txt
This will overwrite the original file.
sed -i «.bk» s/[”“]/’»’/g File.txt
This problem comes when you have copied some text from html or you have done modification in windows environment and trying to compile in Unix/Solaris environment.
Please do «dos2unix» to remove the special characters from the file:
dos2unix fileName.ext fileName.ext
Sure, convert the file to ascii and blast all unicode characters away. It will probably work. BUT.
- You won’t know what you fixed.
- It will also destroy any unicode comments. Ex: //: A²+B²=C²
- It could potentially damage obvious logic, the code will still be broken, but the solution less obvious. For example: A string with «Smart-Quotes» (“ & ”) or a pointer with a full-width astrix ( * ). Now “SOME_THING” looks like a #define ( SOME_THING ) and *SomeType is the wrong type ( SomeType ).
Two more sugrical approaches to fixing the problem:
- Switch fonts to see the character. (It might be invisible in your current font)
Regex search all unicode characters not part non-extended ascii. In notepad++ I can search up to FFFF, which hasn’t failed me yet.
80 is hex for 128, the first extended ascii character.
After hitting «find next» and highlighting what appears to be empty space, you can close your search dialog and press CTRL+C to copy to clipboard.
Then paste the character into a unicode search tool. I usually use an online one. http://unicode.scarfboy.com/
Example: I had a bullet point (•) in my code somehow. The unicode value is 2022 (hex), but when read as ascii by the compiler you get 342 200 242 (3 octal values). It’s not as simple as converting each octal values to hex and smashing them together. So «E2 80 A2» is NOT the hex unicode point in your code.
For some weird reason, the following code doesn’t compile. I get a «stray ‘302’ in program» error around volatile unsigned int encoderPos = 0; , and I have no idea what the issue is. I’ve been trying to figure this out for over 40min, and nothing works. It doesn’t make any sense 😭
2 Answers 2
0302 is 0xc2. Somewhere in your source you have one or more non-breaking spaces (0xa0) encoded in UTF-8 (0xc2 0xa0). Use od or a similar tool to find them, and then replace them with normal spaces. Since you have non-ASCII Latin-1 characters in your source, those characters are encoded as two bytes with the first being 0xc2 or 0xc3. Remove all non-ASCII characters before proceeding.
One cause of the /(302) error is copy and paste code from a word processor. You have ASCII codes copied that add spaces, etc to your code. Go through each identified line and remove any extra spaces at the beginning and end of any identified line. Then, (Arduino IDE) go to TOOLS, Auto Format. At least, this cleared up the problem for me.
Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
maccatalan
Registered
a source that compiled very well before now does not with the following error.
Here is the code :
When I let this «as it» I get compilation errors :
stray ‘320’ in program
stray ‘240’ in program
When I replace the draw-oval-in-rect instruction by :
then it works very well.
This problem depends only on the NSBezierPath instruction. I tried it on other projects, even empty projets and . nothing to do. Always the same two ununderstable errors.
Источник