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


von __Son´s B. (bersison)


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;
1
int main(void)
2
{
3
DDRB &= ~(1<<PB1);  
4
DDRA &= ~(1<<PA7);
5
DDRA |= ((1<<PA1)|(1<<PA2));
6
uint8_t PotyWert_akt = 0;
7
uint8_t PotyWert_alt = 0;
8
float StellWert = 0;  // <<< ZEILE 195
9
// einmaliger Startblock
10
RELAIS_OFF;
11
LED_OFF;
12
SpgUeberwach_Initial();  
13
StartBlock(3);
14
15
while(1)
16
{
17
  // Auswertung, ob sich Potywert nennenswert verändert hat
18
PotyWert_akt = SpgUeberwach_Mittelwert(POTY_PORT);
19
if ((PotyWert_akt > (PotyWert_alt + POTY_TOLERANZ))| (PotyWert_akt < (PotyWert_alt - POTY_TOLERANZ)))
20
  {
21
  PotyWert_alt = PotyWert_akt;
22
  }
23
  StellWert = VORGABE_BEREICH * PotyWert_alt / 1024 + VORGABE_MIN;
24
25
If (Entprell_PB1() == 1)  // <<< ZEILE 213
26
{  // <<< ZEILE 214
27
  LED_ON;
28
  RELAIS_ON;
29
  WarteMS(StellWert);
30
  RELAIS_OFF;
31
  LED_OFF;
32
}}}
Compiler aus AtmelStudio 7. Optimierungsart "-Os"

: Bearbeitet durch Moderator
von (prx) A. K. (prx)


Lesenswert?

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

von Cyblord -. (cyblord)


Lesenswert?

__Son´s B. schrieb:
> If (Entprell_PB1() == 1)

Das Schlüsselwort "if" schreibt man klein.

von Waldfee (Gast)


Lesenswert?

Hallo,

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

Gruß
Waldfee

von Reiner_Gast (Gast)


Lesenswert?

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

If wird if geschrieben

von Cyblord -. (cyblord)


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
von Waldfee (Gast)


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.

von __Son´s B. (bersison)


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.

von Keiner N. (nichtgast)


Lesenswert?

Code tags benutzen. dann dürfen auch Tabs drin sein.

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

von __Son´s B. (bersison)


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".

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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...

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
Noch kein Account? Hier anmelden.