Forum: Mikrocontroller und Digitale Elektronik old-style parameter declarations


von Anton S. (pukeko)


Lesenswert?

Guten Morgen aus NZ.

Versuche grade ein C-Prog, entwickelt mit Renesas Umgebung, auf den 
Attiny2313 zu portieren. (AVR Studio)
avr-gcc.exe  -mmcu=attiny2313 -Wall -gdwarf-2 -O0 -MD -MP -MT jetzt.o 
-MF dep/jetzt.o.d  -c  ../jetzt.c


Folgender Teil:

union{
  struct{
    char  pump0:1;
    char  pump1:1;
    char  pump2:1;
    char  pump3:1;
    char  pump4:1;
    char  pump5:1;
    char  pump6:1;
    char  pump7:1;
  }bit;
  char  byte;
}Pumpenstatus;


{

  while (1)
  {

  }
}

ergibt folgende Fehlermeldung:
../jetzt.c:81: error: old-style parameter declarations in prototyped 
function definition

Wie sieht denn der Programmteil in neumodischer Form aus???

Ratlos.

cheers Tony

von peter (Gast)


Lesenswert?

wo ist denn da eine function definition ?

kann doch nur die Ecke sein :
{

  while (1)
  {

  }
}

also besser :
void main (void)
{
  while (1)
  {

  }
}

von Anton S. (pukeko)


Lesenswert?

Danke fuer die schnelle Reaktion, es geht um den folgenden Teil,
der (avr - gcc) compiler meckert die union an:


union{
  struct{
    char  pump0:1;
    char  pump1:1;
    char  pump2:1;
    char  pump3:1;
    char  pump4:1;
    char  pump5:1;
    char  pump6:1;
    char  pump7:1;
  }bit;
  char  byte;
}Pumpenstatus;

error: old-style parameter declarations in prototyped
function definition
Jeder andere c-compiler (auf meinem PC) ist damit zufrieden.???

cheers

von Klugscheisser (Gast)


Lesenswert?

Das muss ein Missverständnis sein: Wie Peter schon schrieb ist in dem 
Teil des Programmes, den Du gepostet hast garkeine 
Parameterdeklaration enthalten. Es fehlt hier der Quelltext, der den 
Fehler hervorruft.
Es mag ja sein, das die gemeldete Zeilennummer innerhalb der 
union-Deklaration liegt, aber dann tritt der Fehler wahrscheinlich davor 
im Text auf.

von Anton S. (pukeko)


Lesenswert?

Ach, is das peinlich, da ist mir doch beim kopieren das void main (void) 
vor die union decl. gerutscht.
puuhh!

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.