www.mikrocontroller.net

Forum: Compiler & IDEs WinAVR "unerklärliche Fehler beim compilieren"


Autor: xASP (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

Bin neu hier und würde gern mal eure Fachkenntnisse in Anspruch nehmen.

Haben grad im Studium das Thema C-Programmierung und müssen nun ein 
Projekt bearbeiten. Wie ich es zu realisieren gedenken, weiß ich schon. 
Auch das Programmieren dachte ich, sollte soweit klappen. Aber die 
Fehler die ich hier bekomme begreife ich irgendwie gar nicht.

Also erstmal zu meinem Programm. Dieses habe ich nur Testweise 
geschrieben und soll so  funktionieren, dass eine LED dann leuchtet wenn 
Taster 1 gedrückt wurde und ausgehen wenn Taster 2 gedrückt wird.

Hier der CODE:  Zeilen der Fehler mit *** markiert, also nicht wundern.


// Deklarationen 
==============================================================

// Festlegung der Quarzfrequenz

#ifndef F_CPU      // optional definieren
#define F_CPU 18432000UL    // MiniMEXLE mit 18,432 MHz Quarz
#endif


// Include von Header-Dateien

#include <avr/io.h>  // I/O-Konfiguration (intern weitere Dateien)
#include <stdbool.h>   // Bibliothek fuer Bit-Variable
#include "lcd_lib_de.h"  // Header-Datei fuer LCD-Anzeige


// Konstanten

#define ON_TIME    10  // "Ein-Zeit" in Inkrementen zu 100 ms
#define OFF_TIME           10  // "Aus-Zeit" in Inkrementen zu 100 ms

#define ENABLE    7

// Variable

bool sw1 = 1;      // Bitspeicher fuer Taste 1
bool sw2 = 1;      // Bitspeicher fuer Taste 2
bool sw3 = 1;      // Bitspeicher fuer Taste 3
bool sw4 = 1;                        // Bitspeicher fuer Taste 4

bool Taste_x;
bool Taste_4;

unsigned int Lux_Ausgabe(void)

// Makros

#define SET_BIT(PORT, BIT)  ((PORT) |= (1<<BIT))
// Einzelbit auf Port SET

#define CLR_BIT(PORT, BIT)  ((PORT) &= ~(1<<BIT))
// Einzelbit auf Port RESET


// Funktionsprototypen

void initDisplay(void);  // Initialisierung Display und Startanzeige
void SwitchQuery(void);  // Tastenabfrage




//Hauptprogramm========================================================= 
===


int main(void)

***{
  initDisplay();
  SwitchQuery();
  SET_BIT(DDRB, DDB2);                      //Pin für LED auf AUS

  while(1)

  {

    if(Taste_x)

    {
      Taste_x = 0;
      CLR_BIT(PORTB, PB2);    //Pin für LED auf EIN
    }

    if(Taste_4)

    {
      Taste_4 = 0;
      SET_BIT(DDRB, DDB2);    //Pin für LED auf AUS
    }
  }

}


// Funktionen 
=================================================================


// INITIALISIERUNG DISPLAY

void initDisplay()            // Start der Funktion
***{
  lcd_init();  // Initialisierungsroutine aus der lcd_lib

  lcd_gotoxy(0,0);        // Cursor auf 1. Zeile, 1. Zeichen
  lcd_putstr("-  Projekt 14  -"); // Ausgabe Festtext: 16 Zeichen

  lcd_gotoxy(1,2);        // Cursor auf 2. Zeile, 3. Zeichen
  lcd_putstr("Treppenlicht");     // Ausgabe Festtext: 16 Zeichen

}            // Ende der Funktion



//====================================================================== 
==

// TASTENABFRAGE

void SwitchQuery()

***{                           // Umschaltung Port C, Bit 0..3 auf 
Eingang



  CLR_BIT(PORTD, ENABLE);  // Enable-Signal auf 0
  DDRC = DDRC & 0xF0;        // Port C auf Eingabe schalten
  PORTC = 0x0F;    // Pullup-Rs eingeschaltet

  _delay_us(10);  // Wartezeit Umstellung Hardware-Signal


// Einlesen der 3 Tastensignale

  sw1 = (PINC & (1 << PC0));  // aktuelle Werte der Tasten 1-4 lesen
  sw2 = (PINC & (1 << PC1));
  sw3 = (PINC & (1 << PC2));
  sw4 = (PINC & (1 << PC3));


// Auswertung der 3 Tasten

  if (sw1==0)                 // falls Taste 1 gedrückt
  {
    Taste_x = 1;  // Taste_x setzen        }

  if (sw2==0)               // falls Taste 2 gedrückt

  {
    Taste_4 = 1;       // Taste_4 setzen
  }

  DDRC = DDRC | 0x0F;          // PortC wieder auf Ausgang
***}


***


So dass ist das Programm und das hier meine Fehler!


../treppe.c:105: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before '{' token

../treppe.c:138: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before '{' token

../treppe.c:172: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before '{' token

../treppe.c:210: error: old-style parameter declarations in prototyped 
function definition

../treppe.c:207: error: expected '{' at end of input

../treppe.c:207: warning: no return statement in function returning 
non-void



Wäre schön wenn ihr was erkennen würdet, was ich nicht sehe.

Danke euch schonmal im Voraus.

Gruß xASP

Autor: nicht-gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach
unsigned int Lux_Ausgabe(void)
fehlt zumindest schon mal ein Strichpunkt.

Autor: mizch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zeig mal, was in „#include "lcd_lib_de.h"“ drinsteht.

Autor: xASP (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hehe des ist ja so lächerlich und mir dermaßen peinlich ^^

Jetzt klappts ohne Fehler, ich glaub ich spinn.

Das ist halt der sogenannte Tunnelblick bei Männern, vielen vielen 
DANK!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.