Erreur: unable to find numeric operator

Bonjour,
J'ai commencé un nouveau projet arduino et je fais face à un problème:
J'utilise un module infrarouge et la détection marche bien or quand je veux réutiliser le code hexadécimal d'une touche avec une variable if, je reçois cette erreur:

Arduino : 1.8.13 (Windows Store 1.8.42.0) (Windows 10), Carte : "Arduino Uno"

C:\Users\aurel\Documents\Arduino\servo\servo.ino: In function 'void loop()':

C:\Users\aurel\Documents\Arduino\servo\servo.ino:30:27: warning: 'bool IRrecv::decode(decode_results*)' is deprecated: Please use IrReceiver.decode() without a parameter and IrReceiver.decodedIRData. . [-Wdeprecated-declarations]

if (irrecv.decode(&results)) {

                       ^

In file included from C:\Users\aurel\Documents\Arduino\libraries\IRremote\src/IRremote.h:188:0,

             from C:\Users\aurel\Documents\Arduino\servo\servo.ino:9:

C:\Users\aurel\Documents\Arduino\libraries\IRremote\src/IRReceive.cpp.h:1373:6: note: declared here

bool IRrecv::decode(decode_results *aResults) {

  ^~~~~~

servo:36:22: error: unable to find numeric literal operator 'operator""FB847'

if (results.value == 807FB847) {

                  ^~~~~~~~

exit status 1

unable to find numeric literal operator 'operator""FB847'

Merci d'avance pour votre aide.

Aurélien

Bon après-midi ,
désolé pour tout défaut dans la langue, car j'ai utilisé google pour traduire.
L'erreur semble être un problème de type de variable incorrect.
Attachez votre croquis afin que nous puissions analyser les types de variavesi utilisés.

RV mineirin

je pense que l'erreur vient de la variable aussi, je voudrais attacher une valeur avec des chiffres et des lettres à une variable. Voici la partie du code de l'erreur:
void loop(){

if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
dump(&results);
irrecv.resume(); // Receive the next value
}

if (results.value == 807FB847) {
digitalWrite(13, HIGH);
Serial.println("test");
delay(1000);
}
}

L'erreur se site au niveau de "807FB847"

Corriger.
Ecrire au format hexadécimal
Ex: 807FB847 écrivez comme ceci: 0x807FB847

RV mineirin

1 Like

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.