unerwartete Fehlermeldung

OP #1379448
Lesenswert?

Hallo,

nachdem ich das Programm schon x-mal kompiliert und betrieben habe, 
bekomme ich plötzlich eine Fehlermeldung:

/usr/bin/sh: test: allgPorttest: binary operator expected
avr-gcc -gdwarf-2 -DF_CPU=16000000UL    -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=allgPorttest.lst  -std=gnu99 
-Wl,-Map=allgPorttest .map,--cref    -lm  allgPorttest.c   -o 
allgPorttest
In file included from allgPorttest.c:32:
c:/progr-mcu/winavr090313/lib/gcc/../../avr/include/avr/io.h:356:6: 
warning: #warning "device type not defined"
allgPorttest.c: In function 'main':
allgPorttest.c:48: error: 'DDRA' undeclared (first use in this function)
allgPorttest.c:48: error: (Each undeclared identifier is reported only 
once
....
es folgen weitere Portbezeichnungen

In meinem WinAVR 090313 sind die üblichen Dateien (io.h, iom644.h) 
vorhanden und unverändert (sicherheitshalber neu installiert).

1. die erste Zeile der Fehlermeldung: leider wird nicht angezeigt,  w o
   der  binary operator fehlt. Am Programm ist nicht viel dran ( ich
   füge es unten an);
2. lt. io.h sei der device type nicht deklariert, er ist es aber im
   makefile (Atmeg644p);
3. die Portbezeichnungen werden plötzlich auch nicht mehr gefunden.

Kann mir jemand erklären, was da geschieht?

Hier das kleine Programm:
1
#include <util/twi.h>
2
#include <stdint.h>    // veraltet: #include <inttypes.h>  
3
#include <stdio.h>
4
#include <stdlib.h>   
5
#include <avr/io.h>           
6
#include <util/delay.h>  
7
#include "i2cmaster.h"   // Peter Fleury
8

9

10

11
#define SCL PC0     // PIN 
12
#define SDA PC1
13
#define RS  PC2     // LCD-PIN 4
14
#define E   PC3     // LCD-PIN 6
15

16

17

18
int main(void)
19
{
20
   
21
   DDRA = 0xFF;
22
   DDRC  |= (1<<SCL) | (1<<SDA) | (1<<E);    // PC0=SCL, PC1=SDA
23

24
   while (1)                  
25
   {
26
    PORTC |= (1<<E);
27
   PORTA |= 1;         
28
   _delay_ms(1000);
29
    PORTC &= ~(1<<E);
30
    PORTA =0;
31
    _delay_ms(1000);
32
  };
33
}

vielen Dank schon mal
Egon
OP #1379654
Lesenswert?

Hi Stefan,

so war es.
In der Tat hat mich an der ersten Zeile der Fehlermeldung besonders 
gewundert, daß in diesem frühen Stadium so etwas schon auffällt.

Ich habe ein neues makefile generiert und nun funktioniert es wieder.


Vielen Dank
Egon

Zusatzfrage:
Nach abgeschlossener Programmierung des AVR scheint es eine gestörte 
Trennung zwischen AVR und pn2/avrdude zuu geben, jedenfalls erscheint 
unentwegt:

avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: stk500_2_ReceiveMessage(): timeout

Ich finde leider nichts im makefile, wo man dies unterbrechen könnte.
OP #1379695
Lesenswert?

> Zusatzfrage:
> Nach abgeschlossener Programmierung des AVR scheint es eine gestörte
> Trennung zwischen AVR und pn2/avrdude zuu geben, jedenfalls erscheint
> unentwegt:
>
> avrdude: stk500_2_ReceiveMessage(): timeout
> avrdude: stk500_2_ReceiveMessage(): timeout
> avrdude: stk500_2_ReceiveMessage(): timeout
>
> Ich finde leider nichts im makefile, wo man dies unterbrechen könnte.

Hat sich erledigt, nach pn2-Neustart ist es verschwunden!

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