Guten Tag, alle,
bitte um einen Hinweis, wo/wie ich meine vielen Fehler finden könnte.
AVRStudio 4.13, SP1 auf WinXPPro:
AVR Studio 4.13.557 Service Pack 1
GUI Version 4, 13, 0, 557
AVR Simulator 1, 0, 2, 0
ATTINY2313 226
Optimierungsstufe -0s
Bearbeitet wird aktuell der Code, der in meinem Dottie ohne Fehler und Warnungen compiliert wird. Dieser Code ist aufgeteilt in mehrere Module, z.B.
~com~.h Header und globale Deklarationen
~tmr~.c usf.
Zum Aufbau einer LCD-Ansteuerung über den tiny2313 habe ich das alte Main-Modul kopiert und ausgeforstet bis auf wenige Zeilen.
Nach verschiedenen organisatorischen Kommentaren am Modulanfang beginnt der code wie folgt:
Nach ähnlichen organisatorischen Kommentaren beginnt die Headerdatei ...\L213_com_10x10.h wie folgtCode:/* #include "m168D_com_10x81a.h" // commonvariable */ #include "L213_com_10x10.h" // Commonvariablen und Header #include "L213_tmr_10x10.c" // Timer #include "L213_inf_10x10.c" // Infomodul #define MCU = AVR_ATtiny2313 #define F_CPU 20000000 // Quarz 20 Mhz-CPU // #define BAUD 57600 #define UART_BAUD_RATE 57600 // Änderung am 19sep08 2220 für lib Fleury #define MYUBRR ((unsigned int)((unsigned long) F_CPU/16/BAUD-1)) //vgl doc2545,S179 // und https://www.roboternetz.de/phpBB2/ze...=375337#375337 /* ============================================================================== */Ich hoffe, dass dies genug Informationen für die Suche nach den Fehlerursachen sind.Code:/*================================================================================== Zeitdaten ================================================================================ */ /* beachte: volatile! und Vorzeichenlos reicht für alle */ volatile uint16_t Iz_ysecv0, Iz_ysecv1; /* Zeitmarke µsec des vorletzten Interrupts in der Einheit 50 Mikrosekunden. Ist der Wert des hochlaufenden Timers zum Interruptzeitpunkt i-1 */ volatile uint16_t Iz_yseci0, Iz_yseci1; /* Zeitmarke "µsec" des letzten Interrupts in der Einheit 100 Mikrosekunden. Ist der Wert des hochlaufenden Timers zum Interruptzeitpunkt i (letzter Interrupt) */ volatile uint16_t Iz_diff0, Iz_diff1; /* Zeitdifferenz Beim Abarbeiten des Interrupts wird yseci mit time1 belegt und diff aus der Differenz yseci-ysecv errechnet. Danach wird yseci nach ysecv kopiert. Im main bzw. regelung wird aus Iz_diffx die Drehzahl berechnet. */
Der Compiler meldet im ersten, probeweisen Durchgang (ich wollte mal ganz grob sehen, wo ich überhaupt stehe - ok, klingt nach experimenteller Software-Entwicklung) Folgendes:
... und ich habe keine Ahnung, wo der Fehler liegen könnte. Wie bereits geschildert - die Headerdatei ist von der funktionierenden Projektdirectory "dottie" einfach übernommen ! Dort stört den Compiler garnix.Code:Build started 22.10.2008 at 12:02:34 avr-gcc.exe -mmcu=attiny2313 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT L213_10.o -MF dep/L213_10.o.d -c ../L213_10.c In file included from ../L213_10.c:63: ../L213_com_10x10.h:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Iz_ysecv0' ../L213_com_10x10.h:40: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Iz_ysecv1' ../L213_com_10x10.h:44: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Iz_yseci0' .... insgesamt .... Build failed with 85 errors and 35 warnings...
Schon mal jetzt vielen Dank für eure Hilfe.







Zitieren

Lesezeichen