блуждающий \342 в программе
Когда я пытаюсь скомпилировать свой код, он говорит: "Блуждающие '\342' в программе
Мой код:
#include <IRremote2.h>
#include <IRremoteInt.h>
#define pinIN 11
uint32_t val;
uint32_t prev;
int fre = 0;
IRrecv remote(pinIN);
decode_results result;
void setup() {
Serial.begin(9600);
remote.enableIRIn();
pinMode(2, OUTPUT);
}
void loop() {
if (remote.decode(&result)) {
val = result.value;
if (val == 0xFFFFFFFF) {
val = prev;
}
prev = val;
detekceKlaves();
remote.resume();
}
}
void detekceKlaves() {
switch (val, HEX) {
case 0x807FB24D:
Serial.println("Stisknuto PLAY");
tone(2, fre);
break;
case 0x807FB04F:
Serial.println("Stisknuto STOP");
noTone(2);
break;
case 0x807F18E7:
Serial.println("Stisknuto VOL+");
fre += 10;
break;
case 0x807F906F:
Serial.println("Stisknuto VOL-");
fre -= 10;
break;
case 0x807F9867:
Serial.println("Stisknuto OFF/ON");
fre = 0;
break;
default:
Serial.println("Stisknuta jina klavesa");
}
}
Код ошибки:
Arduino: 1.8.10 (Windows 10), Board: "Arduino Uno"
irTEST:43:20: error: stray '\342' in program
case 0x807FB24D:
^
irTEST:43:21: error: stray '\200' in program
case 0x807FB24D:
^
irTEST:43:22: error: stray '\254' in program
case 0x807FB24D:
^
irTEST:47:10: error: stray '\342' in program
case 0x807FB04F:
^
irTEST:47:11: error: stray '\200' in program
case 0x807FB04F:
^
irTEST:47:12: error: stray '\255' in program
case 0x807FB04F:
^
irTEST:47:23: error: stray '\342' in program
case 0x807FB04F:
^
irTEST:47:24: error: stray '\200' in program
case 0x807FB04F:
^
irTEST:47:25: error: stray '\254' in program
case 0x807FB04F:
^
C:\Users\maxim\Documents\Arduino\irTEST\irTEST.ino: In function 'void detekceKlaves()':
C:\Users\maxim\Documents\Arduino\irTEST\irTEST.ino:43:5: warning: overflow in implicit constant conversion [-Woverflow]
case 0x807FB24D:
^~~~
C:\Users\maxim\Documents\Arduino\irTEST\irTEST.ino:47:5: warning: overflow in implicit constant conversion [-Woverflow]
case 0x807FB04F:
^~~~
C:\Users\maxim\Documents\Arduino\irTEST\irTEST.ino:51:5: warning: overflow in implicit constant conversion [-Woverflow]
case 0x807F18E7:
^~~~
C:\Users\maxim\Documents\Arduino\irTEST\irTEST.ino:55:5: warning: overflow in implicit constant conversion [-Woverflow]
case 0x807F906F:
^~~~
C:\Users\maxim\Documents\Arduino\irTEST\irTEST.ino:59:5: warning: overflow in implicit constant conversion [-Woverflow]
case 0x807F9867:
^~~~
Multiple libraries were found for "IRremote2.h"
Used: C:\Users\maxim\Documents\Arduino\libraries\IRremote2
exit status 1
stray '\342' in program
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Пожалуйста, помогите
@MaximMaximS, 👍1
Обсуждение1 ответ
Лучший ответ:
▲ 1
Если я скопирую предоставленный вами код в vim-редактор, вы увидите странные символы. <202c>
switch (val, HEX) {
4
5 case 0x807FB24D<202c>:
6 Serial.println("Stisknuto PLAY");
7 tone(2, fre);
8 break;
9 case <202d>0x807FB04F<202c>:
Я удалил их для вас:
#include <IRremote2.h>
#include <IRremoteInt.h>
#define pinIN 11
uint32_t val;
uint32_t prev;
int fre = 0;
IRrecv remote(pinIN);
decode_results result;
void setup()
{
Serial.begin(9600);
remote.enableIRIn();
pinMode(2, OUTPUT);
}
void loop()
{
if (remote.decode(&result))
{
val = result.value;
if (val == 0xFFFFFFFF)
{
val = prev;
}
prev = val;
detekceKlaves();
remote.resume();
}
}
void detekceKlaves()
{
switch (val, HEX)
{
case 0x807FB24D:
Serial.println("Stisknuto PLAY");
tone(2, fre);
break;
case 0x807FB04F:
Serial.println("Stisknuto STOP");
noTone(2);
break;
case 0x807F18E7:
Serial.println("Stisknuto VOL+");
fre += 10;
break;
case 0x807F906F:
Serial.println("Stisknuto VOL-");
fre -= 10;
break;
case 0x807F9867:
Serial.println("Stisknuto OFF/ON");
fre = 0;
break;
default:
Serial.println("Stisknuta jina klavesa");
}
}
,
@Peter Paul Kiefer
@MaximMaximS, вы скопировали код откуда-то с ориентацией текста справа налево, например, с арабского веб-сайта ... шестнадцатеричный код 202d - это символ юникода, который управляет направлением текста ... https://www.codetable.net /hex/202d, @jsotola
Спасибо, но я не копировал. Я написал это., @MaximMaximS
Смотрите также:
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
возможные непечатаемые символы... скопируйте код из вашего вопроса выше и попробуйте его скомпилировать, @jsotola
Как сказал @jsotola, скопируйте код. Сначала попробуйте вырезать и вставить в новый файл. Если это не сработает, скопируйте его, перепечатав в новый файл. Как вы получили непечатаемые символы? Вероятно, лучшим способом (также трудным для нового разработчика) было бы найти и использовать восьмеричный редактор для поиска и удаления проблемных символов., @st2000
используйте что-то вроде блокнота++ для редактирования, @jsotola