Probleme beim Compilieren (ATmega 32)

Gast #712802
Lesenswert?

Da ich nun mit meiner Platine für ein Solar Projekt von mir fertig bin, 
bin ich nun daran gegangen den µC zu programmieren.
Wenn ich aber eine .hex erstellen will dann gibt mir der compiler aus 
das in der stdint.h 3 fehler wären. Bei vorherigen Projekten hat er sich 
dabei noch nie aufgeregt. Deswegen hab ich ein altes Projekt neu 
compiliert, und musste leider feststellen das er auch die nicht mehr 
richtig compilieren schafft.
Hat jemand eine Ahnung woran das liegen könnte?

P.S.:
folgende Fehlermeldung kommt:
c:/winavr-20070525/bin/../avr/include/stdint.h:121: error: expected '=', 
',', ';', 'asm' or '__attribute__' before 'typedef'
Gast #712808
Lesenswert?

1
void main(void)
2
{
3
  float AkkuWert;
4

5
  AkkuWert = AD_start(0x02);
6
  pwm_dimm(0xFF);
7

8
  while(1)
9
  {
10
    AkkuWert = AD_start(0x02) * 5.8;
11
    
12
    if (AkkuWert < 12.4)
13
      pwm_dimm(0xFF);
14
    else
15
      pwm_dimm(0x00);
16
    
17
  }
18
      
19
}

Das ist der code vom einfachen Projekt.
Auch bei dem kommt die Fehlermeldung, obwohl es schon zuvor funktioniert 
hat.
Gast #712826
Lesenswert?

1
#include <avr/io.h>
2
#include <stdint.h>
3
#include <stdlib.h>
4
#include <avr/interrupt.h>
5
#include <avr/wdt.h>
6

7

8
float AD_start (char Kanal);
9
void pwm_dimm(char Helligkeit);
10

11
void main(void)
12
{
13
  float AkkuWert;
14

15
  AkkuWert = AD_start(0x02);
16
  pwm_dimm(0xFF);
17

18
  while(1)
19
  {
20
    AkkuWert = AD_start(0x02) * 5.8;
21
    
22
    if (AkkuWert < 12.4)
23
      pwm_dimm(0xFF);
24
    else
25
      pwm_dimm(0x00);
26
    
27
  }
28
      
29
}

Hier jetzt auch mit den includes und den Funktionsprototypen.
Hoffe du kannst mit damit weiter helfen.
In den einzelnen funktionen ist stdint.h nicht als #include datei 
hinzugefügt.
#712832
Lesenswert?

Du hattest nicht zufällig die avr/io.h mal offen (oder
das Include File welches von dort includiert wird) und hast
ohne es zu merken, dort einen Fehler eingebaut.
Wie Johannes schon anmerkte, sind das meist irgendwelche
Semicolons die im Include File vor dem mit dem Fehler
gemacht werden oder dort fehlen.

> In den einzelnen funktionen ist stdint.h nicht als
> #include datei hinzugefügt.

Im Build Log siehst du ja, welche *.c gerade compiliert wird.
In deinem Fall müsste das dann die *.c mit dem main() sein.

Schau mal in die stdint.h hinein. Such dir die Zeile 121
und schau dort mal nach. Wenn in dieser Zeile nichts Auffallendes
ist, dann auch die Zeilen davor untersuchen. Wenn das die
erste interessante Zeile ist (weil davor nur Kommentare sind),
dann auch im Header File, welches unmittelbar davor benutzt
wird, die letzten Zeilen begutachten.

Es kommt schon mal vor, dass man in diesen Header Files
etwas nachschlägt und dabei unabsichtlich ein Zeichen
einfügt oder weglöscht.

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