Forum: Mikrocontroller und Digitale Elektronik Fehlermeldung nach Laptoptausch


von ggast (Gast)


Lesenswert?

Hallo Forum,

nach einem Ersatz eines kaputten Laptops erscheinen folgende Meldungen 
nach dem Übersetzen.

Auf dem neuen Laptop sind wie auf dem alten Laptop winavr und 
avrstudio4.18 installiert.

Wo und wie kann ich noch nach Ursachen suchen?

Welche Informationen sind für die Wissenden sonst noch erforderlich?



rm -rf psv_blaulicht_5.o  psv_blaulicht_5.elf dep/* psv_blaulicht_5.hex 
psv_blaulicht_5.eep psv_blaulicht_5.lss psv_blaulicht_5.map
Build succeeded with 0 Warnings...
avr-gcc  -mmcu=attiny24a -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT 
psv_blaulicht_5.o -MF dep/psv_blaulicht_5.o.d  -c  ../psv_blaulicht_5.c
In file included from 
c:/winavr-20100110/lib/gcc/../../avr/include/inttypes.h:37,
                 from 
c:/winavr-20100110/lib/gcc/../../avr/include/avr/sfr_defs.h:126,
                 from 
c:/winavr-20100110/lib/gcc/../../avr/include/avr/io.h:99,
                 from ../psv_blaulicht_5.c:15:
c:/winavr-20100110/lib/gcc/../../avr/include/stdint.h:121: error: 
expected '=', ',', ';', 'asm' or '__attribute__' before 'typedef'
c:/winavr-20100110/lib/gcc/../../avr/include/stdint.h:159: error: 
expected '=', ',', ';', 'asm' or '__attribute__' before 'int_least8_t'
c:/winavr-20100110/lib/gcc/../../avr/include/stdint.h:213: error: 
expected '=', ',', ';', 'asm' or '__attribute__' before 'int_fast8_t'
../psv_blaulicht_5.c:29: warning: return type defaults to 'int'
../psv_blaulicht_5.c: In function 'ISR':
../psv_blaulicht_5.c:29: warning: type of '__vector_9' defaults to 'int'
../psv_blaulicht_5.c: In function 'main':
../psv_blaulicht_5.c:56: warning: implicit declaration of function 'sei'
make: *** [psv_blaulicht_5.o] Error 1
Build failed with 3 errors and 3 warnings...

von Hubert G. (hubertg)


Lesenswert?

Stell mal den gesamten Code herein, da dürften sich falsche Zeichen 
eingeschlichen haben.

von STK500-Besitzer (Gast)


Lesenswert?

alter Compiler mit neuen Libraries?!

von Oliver S. (oliverso)


Lesenswert?

Irgendwas ist da an den Headern kaputt.

winavr löschen,  und nochmal installieren.

Oliver

von ggast (Gast)


Lesenswert?

Hallo oliverso,

winavr habe ich deinstalliert und wieder installiert, gleiches Ergebnis.

Hier der Code zur Ansicht:



#include <avr/io.h>
#define F_CPU 1000000UL
#include <util/delay.h>
#include <stdlib.h>




volatile int flag = 1;
volatile int c = 0;
volatile int schweiss = 0;



ISR(TIM0_COMPA_vect){
    c++;
    schweiss++;
    if(200 == c) c = 0;
    if(20000 == schweiss) schweiss = 0;
    flag = 1;
    }


int main(void)
{
 PORTA = 0;
 PORTB = 0;
 DDRA = 0xff;
 DDRB |= (1<<PB2);

 TCCR1A = (1<<COM1A1) | (1<<COM1B1) | (1<<COM1A0) | (1<<COM1B0) | 
(1<<WGM10) | (1<<WGM11);
 TCCR1B = (1<<CS10) | (1<<CS10);


 TCCR0A = (1<<COM0A1) | (1<<COM0A1) | (WGM01);
 TCCR0B = (1<<CS01) | (1<<CS01);

 TIMSK0 = (1<<OCIE0A);

 OCR0A = 127;
 OCR1A = 100; //PA6
 sei();


 while (1){
  if(flag){
    flag = 0;

    //if(c == 50)PORTA ^= (1<<PA5);

    if(schweiss == 30) OCR1A = 0;
    if(schweiss == 60) OCR1A = 600;
    if(schweiss == 90) OCR1A = 0;
    if(schweiss == 120) OCR1A = 1000;
    if(schweiss == 150) OCR1A = 0;
    if(schweiss == 180) OCR1A = 600;
    if(schweiss == 210) OCR1A = 0;
    if(schweiss == 240) OCR1A = 1000;
    if(schweiss == 270) OCR1A = 0;
    if(schweiss == 300) OCR1A = 600;
    if(schweiss == 330) OCR1A = 0;
    if(schweiss == 360) OCR1A = 600;
    if(schweiss == 390) OCR1A = 0;
    if(schweiss == 420) OCR1A = 600;
    if(schweiss == 450) OCR1A = 700;
    if(schweiss == 480) OCR1A = 800;
    if(schweiss == 510) OCR1A = 1000;
    if(schweiss == 540) OCR1A = 1023;


    if((200 == c) || (100 == c)) PORTA |= (1<<PA4);
    if((50 == c) || (150 == c)) PORTA &= ~(1<<PA4);


    if((175 == c) || (75 == c)) PORTA |= (1<<PA0);
    if((25 == c) || (125 == c)) PORTA &= ~(1<<PA0);


    if((50 == c) || (150 == c)) PORTA |= (1<<PA2);
    if((200 == c) || (100 == c)) PORTA &= ~(1<<PA2);


    if((33 == c) || (133 == c)) PORTA |= (1<<PA1);
    if((83 == c) || (183 == c)) PORTA &= ~(1<<PA1);

    if((133 == c) || (33 == c)) PORTA |= (1<<PA5);
    if((183 == c) || (83 == c)) PORTA &= ~(1<<PA5);


    if((66 == c) || (166 == c)) PORTA |= (1<<PA3);
    if((16 == c) || (116 == c)) PORTA &= ~(1<<PA3);

    if((66 == c) || (166 == c)) PORTA |= (1<<PA6);
    if((16 == c) || (116 == c)) PORTA &= ~(1<<PA6);


    if((75 == c) || (175 == c)) PORTA |= (1<<PA7);
    if((125 == c) || (25 == c)) PORTA &= ~(1<<PA7);


      }

    }
  }

von Hubert G. (hubertg)


Lesenswert?

Wenn man noch #include <avr/interrupt.h> einfügt lässt es sich 
fehlerfrei compilieren.
Ich habe allerdings AVR-Studio 4.19 und die neueste Toolchain.

von ggast (Gast)


Lesenswert?

aaaaaahhrg!!

Ja, danke, dürfte beim Rüberkopieren was passiert sein, wer eine ISR 
benutzt, sollte auch die entsprechende Bibliothek einbinden ...

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.