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
Nach
1 | unsigned int Lux_Ausgabe(void) |
fehlt zumindest schon mal ein Strichpunkt.
Zeig mal, was in „#include "lcd_lib_de.h"“ drinsteht.
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!!!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.