Hei, das ist eine schön-lehrreiche Unterhaltung. Ich habe gleich die BitSet-Definitionen übernommen und um #define IsBitClr(ADDR,BIT) ((!(ADDR) & ~(1<<BIT))) erweitert (das ist halt MEIN Faulheitsfaktor).
Als C(äh)-Newbie seit Sept. 07 liegen mir viele Fragen auf der Zunge, ich schreib mal ne wichtige her. Ich versuche ja einigermassen strukturiert zu programmieren, habe aber immer nur eine eigene Headerdatei.
Code:
// =================================================================================
#include <stdlib.h>
#include <avr/io.h> // Includiert u.A. auch iomx328p.h
#include <avr/interrupt.h>
#include "D01-3_40_com_x21.h" // commonvariable
#include "D01-3_40_dme_x21.c" // irDME Routinen
#include "D01-3_40_gpd_x21.c" // ADC-Routinen für GP2D120 und Aufruf Regelung
#include "D01-3_40_inf_x21.c" // Info-Ausgaben
#include "D01-3_40_kal_x21.c" // Kalibrierungen, z.B.: irDME´s
#include "D01-3_40_mot_x21.c" // Motorroutinen incl. PWM, Regelung Motor
#include "D01-3_40_tmr_x21.c" // Timer, PWM
#include "D01-3_40_tst_x21.c" // Testroutinen
#define MCU = AVR_ATmega328p
Die ist so ne Art Projektübersicht und enthält mehrere Abschnitte mit defines, Variablendeklarationen die eher nach den Softwarepaketen (Beispiel: "Motordaten: Steuerung, Motortests", "Encoderbedienung und Zeitdaten" und so ähnlich) gruppiert sind. Dahinter kommt die (hoffentlich) aktuelle Modulliste mit allen Funktionsprototypen. Damit habe ich in diesem Header eine Kurzübersicht des Programms und weiß, wo ich ALLE globalen Variablen schnell finde. Könnt ihr das so als passabel durchgehen lassen?
Lesezeichen