Ich steh momentan auf dem Schlauch: Meine Variablen: const unsigned char NCOinc[136] = {Hz15_,Hz15,Bla1,Bla2,etc}; unsigned char count = 46; Das Programm funktioniert,bekomme aber diese Fehlermeldung(Warnung um genau zu sein) vom Compiler : main.c:85:28: warning: (373) implicit signed to unsigned conversion NCO1INCH = NCOinc[count]; => OK NCO1INCL = NCOinc[count+1]; => warning message - Warum? Ersetze ich "count+1" durch count++ meckert der Compiler nicht NCO1INCH = NCOinc[count]; => OK NCO1INCL = NCOinc[count++]; => OK Ignoriert die 2 anderen Encoder-Warnungen im Anhang - das gleiche Problem... Wo ist mein Denkfehler? Und wie schon gesagt:Das Programm laeuft ohne Probleme....
Die "1" ist vom Typ int, welcher standardmäßig als signed angesehen wird. Die Addition eines unsigned char mit einem int ergibt einen (signed) int. Daher solltest Du mal die folgende Zeile ausprobieren:
1 | NCO1INCL = NCOinc[count+1U]; |
Oder:
1 | NCO1INCL = NCOinc[count+(unsigned char)1]; |
Toxic schrieb: > NCO1INCL = NCOinc[count+1]; => warning message - Warum? 1 ist signed. 1u wäre unsigned Gruß Anja
Andreas S. schrieb: > Daher solltest Du mal die folgende Zeile ausprobieren:NCO1INCL = > NCOinc[count+1U]; Anja schrieb: > 1 ist signed. > 1u wäre unsigned Oh mann..... Ja ihr habt recht "1u" - loest das Problem. Zum Glueck ist (noch) kein Shitstorm wegen meiner Unwissenheit ueber mich hereingebrochen..... Danke fuer die schnelle Rueckmeldung. Meine Antwort liess etwas laenger auf sich warten,weil ich als Gast erstmal eine Stunde Daeumchen drehen muss,bevor ich wieder aktiv werden darf....
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.