mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C, Warn-/Fehlermeldung nicht nachvollziehbar


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: __Son´s B. (bersison)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Habe hier 2 Warn- und 1 Fehlermeldung, die ich nicht zuordnen kann;

Warning    variable 'StellWert' set but not used 
[-Wunused-but-set-variable]  195
Warning    implicit declaration of function 'If' 
[-Wimplicit-function-declaration]  213
Error    expected ';' before '{' token          214

Variable "StellWert" wird 2 mal verwendet...
Wo ist der Fehler in Zeile 213, 214 ?

Quelltext sieht folgend aus;
int main(void)
{
DDRB &= ~(1<<PB1);  
DDRA &= ~(1<<PA7);
DDRA |= ((1<<PA1)|(1<<PA2));
uint8_t PotyWert_akt = 0;
uint8_t PotyWert_alt = 0;
float StellWert = 0;  // <<< ZEILE 195
// einmaliger Startblock
RELAIS_OFF;
LED_OFF;
SpgUeberwach_Initial();  
StartBlock(3);

while(1)
{
  // Auswertung, ob sich Potywert nennenswert verändert hat
PotyWert_akt = SpgUeberwach_Mittelwert(POTY_PORT);
if ((PotyWert_akt > (PotyWert_alt + POTY_TOLERANZ))| (PotyWert_akt < (PotyWert_alt - POTY_TOLERANZ)))
  {
  PotyWert_alt = PotyWert_akt;
  }
  StellWert = VORGABE_BEREICH * PotyWert_alt / 1024 + VORGABE_MIN;

If (Entprell_PB1() == 1)  // <<< ZEILE 213
{  // <<< ZEILE 214
  LED_ON;
  RELAIS_ON;
  WarteMS(StellWert);
  RELAIS_OFF;
  LED_OFF;
}}}

Compiler aus AtmelStudio 7. Optimierungsart "-Os"

: Bearbeitet durch Moderator
Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C Quelltext entsprechend der Formatierungsregeln des Forums markieren - 
und vorher alle TABs durch entsprechende Leerzeichen ersetzten. Sieht 
sonst grauslich aus.

Autor: Cyblord -. (cyblord)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
__Son´s B. schrieb:
> If (Entprell_PB1() == 1)

Das Schlüsselwort "if" schreibt man klein.

Autor: Waldfee (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das "IF" muss "if" heißen.
Die Warnung mit StellWert würd ich erstma ignorieren.

Gruß
Waldfee

Autor: Reiner_Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
__Son´s B. schrieb:
> Wo ist der Fehler in Zeile 213, 214 ?

If wird if geschrieben

Autor: Cyblord -. (cyblord)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Waldfee schrieb:
> Die Warnung mit StellWert würd ich erstma ignorieren.

Die verschwindet sobald das if korrigiert ist.
Warnungen zu ignorieren ist nie ein so guter Tipp.

Ach ja und seid ein lahmer haufen. Wer war am schnellsten? Ach bin ich 
gewohnt, keine Glückwünsche bitte.

: Bearbeitet durch User
Autor: Waldfee (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cyblord -. schrieb:
> Waldfee schrieb:
>> Die Warnung mit StellWert würd ich erstma ignorieren.
>
> Die verschwindet sobald das if korrigiert ist.
> Warnungen zu ignorieren ist nie ein so guter Tipp.
>
> Ach ja und seid ein lahmer haufen. Wer war am schnellsten? Ach bin ich
> gewohnt, keine Glückwünsche bitte.

Die meisten Warnungen verschwinden wenn der Code fertig compilieren 
kann, daher meine Aussage. Sonst geb ich dir Recht, man sollte sie nicht 
ignorieren.

Autor: __Son´s B. (bersison)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cyblord -. schrieb:
> Das Schlüsselwort "if" schreibt man klein.

Ohje - "sieht vor lauter Bäumen den Wald nicht mehr" ...
Vielen Dank, alle Warnungen und der Fehler sind weg!

A. K. schrieb:
> C Quelltext entsprechend der Formatierungsregeln des Forums markieren -
> und vorher alle TABs durch entsprechende Leerzeichen ersetzten. Sieht
> sonst grauslich aus.

Finde ich auch, habe aber leider noch keine schnelle&einfache Lösung 
gefunden. Ich kopiere aus dem AtmelStudio-Editor in dieses Textfeld und 
lösche dann aufwendig alle meine Bemerkungen raus.

Autor: Keiner N. (nichtgast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Code tags benutzen. dann dürfen auch Tabs drin sein.

Dern Code einfach mit [ c ] und [ / c] umschließen. (ohne die 
leerzeichen)

Autor: __Son´s B. (bersison)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner N. schrieb:
> Dern Code einfach mit [ c ] und [ / c] umschließen. (ohne die
> leerzeichen)

Ja, sieht wesentlich besser aus.
Auch für diesen Tipp mein "DANK".

Autor: Lothar M. (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
__Son´s B. schrieb:
> Poty
Mit Ypsilon?

> Variable "StellWert" wird 2 mal verwendet...
Nicht im geposteten Code. Dort wird ihr nur 2x was zugewiesen. Weil sie 
aber nicht gelesen wird kann man diese 2 Zeilen auch weglassen...

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.