www.mikrocontroller.net

Forum: Compiler & IDEs warning statement with no effect bei AVR-Studio


Autor: Thomas K. (teakay)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe gestern bis heute meine RTC am Display eDIP320 laufen über I2C 
laufen lassen. Dies hat soweit auch ohne Probleme funktioniert. Wollte 
nun heute mein Programm erweitern, jedoch beim ersten kompilieren kamen 
nun 2 Warnungen und meine I2C-Bus Kommunikation von ATmega16 zu eDIP 
funktioniert nun gar nicht mehr richtig.

Es irritiert mich folgende Warnmeldung:

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

bedeutet dies, dass die Anweisung i2c_init(); keine Auswirkung hat???

hier wäre noch mein Code für die main.c
#include <avr/io.h>
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
#include <i2c.h>
#include <compat/twi.h>
#include <util/delay.h>
#include <edip320.h>
#include <ds1307.h>

#define waitms  _delay_ms
#define waitus  _delay_us

int main(void)
 {
  i2c_init;
  befehl_n("YH", 0);      // Helligkeit der LED-Beleuchtung auf 0 setzen
  befehl("TA");        // Terminal aus
  befehl("DL");        // Displayinhalt löschen
  befehl_n("NF", 0);      // Menüfont
  befehl_n("AF", 0);      // Touchfont
  befehl_n("NY", 2);      // zus. Zeilenabstand für Menüfont
  touch_menue(0, 0, 45, 15, 1, 0, 1, "UCMenue|Datum, Uhrzeit|Display|Info");
  while(1)
   {
    
    schreibeUhr();
  wieder:
    leseUhr();
    ausgabeUhr();
    goto wieder;
   }
 }

Woran kann es liegen??? Ach ja ich benutze die i2c-Library von Peter 
Fleury.

Gruß
Thomas K.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>bedeutet dies, dass die Anweisung i2c_init(); keine Auswirkung hat???

Nein.

Es bedeutet, daß i2c_init; keine Auswirkung hat. Ein paar Klammern 
wirken da Wunder :-)

Oliver

Autor: Bernd M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geb dem i2c_init mal ein Paar Klammern mit.

grz. bernd

Autor: Thomas K. (teakay)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahh, wie peinlich!!!

Danke Bernd für die schnelle Hilfe und Antwort!!!

Gruß
Thomas

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kleiner Tipp am Rande:
Vermeide wenn möglich goto Anweisungen. Das wird als sehr schlechter 
Programmierstil angesehen.

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Vermeide wenn möglich goto Anweisungen. Das wird als sehr schlechter
>Programmierstil angesehen.

Insbesondere wenn schon eine while(1)-Schleife verwendet wurde :)

Gibt es einen bestimmten Grund zwei Endlosschleifen ineinander zu 
verschachteln? Ich würde behaupten, dass die while(1)-Schleife gelöscht 
werden kann.

Schöne Grüße
Kai

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.