Questão:
"stray '/ 302' no erro do programa" ao compilar
user2950509
2016-10-27 18:41:13 UTC
view on stackexchange narkive permalink

Por alguma razão estranha, o código a seguir não compila. Recebo um erro "stray '\ 302' in program" em torno de volatile unsigned int encoderPos = 0; e não tenho ideia de qual é o problema. Estou tentando descobrir isso há mais de 40 minutos e nada funciona. Não faz nenhum sentido

  #include <U8g2lib.h> # include <SPI.h> // Definições de pinos: const int control_PWM = A3; // Saída PWM para o atraso const int btn_1 = 1; // Botão para o modo 1const int btn_2 = 4; // Botão para o modo 2const int btn_3 = 5; // Botão para o modo 3const int r_A = 2; // Dataconst do codificador rotativo A int r_B = 3; // Dataconst do codificador rotativo A int r_SW = 0; // Botão do codificador rotativo dataconst int oled_CLK = 9; // Cloackconst SPI int oled_MOSI = 8; // Pinconst MOSI int oled_CS = 7; // Chip Select pinconst int oled_DC = 6; // D / C pinU8G2_SH1106_128X64_NONAME_F_4W_HW_SPI u8g2 do OLED (U8G2_R0, / * cs = * / 10, / * dc = * / 9, / * reset = * / 8); modo int = 1; // 1: RGB, 2: HSL, 3: Distância controlint value_selection = 1; // Valor real selectrionint value1 = 0; // vermelho no modo 1; matiz no modo 2int valor2 = 0; //// verde no modo 1; saturação no modo 2int valor3 = 0; // azul no modo 1; luminosidade no modo 2volatile unsigned int encoderPos = 0; // posição atual do codificador rotativounsigned int lastReportedPos = 1; // posição anterior do codificador rotativostatic boolean rotating = false; // é o status da atividade do codificador // variáveis ​​do interruptorboolean A_set = false; boolean B_set = false; boolean A_change = false; boolean B_change = false; void setup () {} void loop () {}  
Qual versão IDE?
Você poderia editar sua pergunta para incluir a mensagem de erro exata.
@canadiancyborg: Sua edição obscureceu o problema.
@IgnacioVazquez-Abrams Acabei de traduzir os comentários em francês para o inglês, como isso mudou alguma coisa?
@canadiancyborg: Você removeu os caracteres não ASCII da origem, que foram a causa do erro.
Espere @IgnacioVazquez-Abrams, então os caracteres não ASCII nos comentários também afetam o programa?
Compile bem para mim. UECIDE 0.9.1.
Dois respostas:
Ignacio Vazquez-Abrams
2016-10-27 19:16:11 UTC
view on stackexchange narkive permalink

0302 é 0xc2. Em algum lugar de sua fonte, você tem um ou mais espaços não separáveis ​​(0xa0) codificados em UTF-8 (0xc2 0xa0). Use od ou uma ferramenta semelhante para encontrá-los e, em seguida, substitua-os por espaços normais. Como você possui caracteres latinos 1 não ASCII em sua fonte, esses caracteres são codificados como dois bytes com o primeiro sendo 0xc2 ou 0xc3. Remova todos os caracteres não ASCII antes de continuar.

Você provavelmente pode apenas copiar o código de sua postagem e colá-lo sobre o código original no IDE. Como não consigo detectar nenhum caractere estranho no texto acima (acho que o navegador substitui NBSPs por espaços regulares). Personagens invisíveis podem ser uma dor de cabeça para alguns compiladores.
RogerR2
2017-03-13 02:28:50 UTC
view on stackexchange narkive permalink

Uma das causas do erro / (302) é copiar e colar o código de um processador de texto. Você copiou códigos ASCII que adicionam espaços, etc. ao seu código. Passe por cada linha identificada e remova todos os espaços extras no início e no final de qualquer linha identificada. Em seguida, (Arduino IDE) vá para TOOLS, Auto Format. Pelo menos, isso resolveu o problema para mim.



Estas perguntas e respostas foram traduzidas automaticamente do idioma inglês.O conteúdo original está disponível em stackexchange, que agradecemos pela licença cc by-sa 3.0 sob a qual é distribuído.
Loading...