Hallo Leute,
habe eine Variable in loop() definiert und bekomme dafür eine Compiler-Warnung. So sieht der auf's Problem reduzierte Code aus:
Die resultierende Warnung:Code:void loop() { int button; unsigned long browse; // browse = 0; button = GetButton(); if (button) { // Taster gedrückt? switch (button) { case KUP: browse = millis() + 8001; // Vorblättern break; case KDOWN: browse = millis() + 8000; // Zurückblättern break; } } }
WIESO? Das mag ja nicht funktionsrelevant sein, aber ich will schon gerne einen Code ohne Warnungen produzieren!C:\Eigene Dateien\Arduino\Eventlogger\Eventlogger.ino: In function 'void loop()':
C:\Eigene Dateien\Arduino\Eventlogger\Eventlogger.ino:7:16: warning: variable 'browse' set but not used [-Wunused-but-set-variable]
unsigned long browse;
^
'browse' soll für einen Timeout (8s) verwendet werden, nach dessen Ablauf die Anzeige wieder auf Standardtext zurückgeschaltet wird. Eigentlich soll dieser Timeout für beide case-Bedingungen gleich sein (8000) - daß ich oben stattdessen 8001 verwende ist auch nur ein vergeblicher Versuch diese Warnung zu vermeiden. Ebenso wie die wieder auskommentierte Zeile 'browse = 0;' ...
Wenn ich die Variable 'browse' global deklariere geht's, aber da gehört sie nunmal nicht hin. Zudem würde ich gerne verstehen was sich der Compiler dabei denkt wenn er sowas behauptet![]()
Gruß, Dieter







Zitieren

Lesezeichen