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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.