warning: statement with no effect

Gast #239273
Lesenswert?

Hallo,

ich wundere mich über die Warnung, die der gcc ausgibt:

../main.c:745: warning: statement with no effect

Ich verwende das AVR-Studio 4.12 mit WinAVR. Die Zeilen, die
ange,eckert werden sind folgende:
1
  int8_t i = 0;    // Laufvariable
2
  lcd_write (0x80,0);  // DD-Ram Adresse auf Anfang 
3
->  for (i; i<16; i++)  // erste Zeile
4
    lcd_write(lcd_text[i], 1);
5
  lcd_write (0xC0,0);  // DD-RAM-Adresse auf Anfang
6
->  for (i; i<33; i++)  // zweite Zeile
7
    lcd_write(lcd_text[i], 1);

Die angemeckerten Zeilen (->) kopieren in der for-Schleife ein array,
das als Buffer dient, ins LCD. Im µC funktioniert es einwandfrei, warum
meckert also der Compiler? Hat jemand eine Idee?

Gruß, Slowflyer
Gast #239278
Lesenswert?

Sicher dass Du nicht noch einen zweiten (logischen) Fehler drinn hast?

a.) In der ersten Schleife zählst Du von 0 bis 15 also 16 Durchgänge.
b.) In der zweiten Schleife zählst Du von 16 bis 32, also 17
Durchgänge.

Hat Dein Display wirklich in der ersten Zeile 16 Zeichen und in der
zweiten Zeile ein Zeichen mehr, also 17 Zeichen???

Ich habe da so meine Zweifel...
Gast #3680432
Lesenswert?

Hallo,

der Therad ist zwar schon etwas älter, aber ich habe selbiges Problem. 
Ich ich dachte immer, ich könnte programmieren. Folgende Funktion möchte 
ich in C (WinAVR) in AVR Studio 4 implementieren.

void Initialize()
{
  // Initialize Heaters

  for (unsigned short int index = 0; index++; index < 6)
  {
  }
}

Ich bekomme ebenso die Wanrung "warning: statement with no effect". 
Warum? Kann mir jemand bitte mal auf den Hinterkopf klopfen?

Danke im voraus.



lg Torsten
#3680439
Lesenswert?

Torsten Ohne schrieb:
> Hallo,
>
> der Therad ist zwar schon etwas älter, aber ich habe selbiges Problem.
> Ich ich dachte immer, ich könnte programmieren. Folgende Funktion möchte
> ich in C (WinAVR) in AVR Studio 4 implementieren.
>
> void Initialize()
> {
>   // Initialize Heaters
>
>   for (unsigned short int index = 0; index++; index < 6)

Die Reihenfolge der 3 Bestandteile ist

Initialisierung
Wiederholbedingung
Inkrement


Der Vergleich, ob index kleiner 6 ist, hat im Inkrementteil eher wenig 
Sinn.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren