ich habe einen Returnwert von 0...6 // 0 = Montag also muss mit print WERT[0] "Montag" ausgegeben werden, wie soll das Programm W_TAG.montag wenn es nicht weiss welcher Tag ist und dieser nur im numerischem Wert von 0 bis 6 zur Verfügung steht.
ENUM soll lt Beschreibung nur für Int-Werte gehen... ??
Mehr Probleme habe ich mit der Einbindung der Variablen/Funktionen in die Main, die in der Header- und "Nichtmain"- datei definiert sind.

in der "my_ds1301.h" steht es so:
Code:
/* ========================================================================== */
/*                                                                            */
/*                   Zeitfunktionen                                           */
/*                                                                            */
/* ========================================================================== */
extern void time_init(void);
extern void set_jahr(unsigned char);
extern void set_monat(unsigned char);
extern void set_tag(unsigned char);
extern void set_wtag(unsigned char);
extern void set_stunde(unsigned char);
extern void set_minute(unsigned char);
extern void set_secunde(unsigned char);
Die funktion "time_init" ist in der my_ds1307.c wie folgt
Code:
/* ========================================================================== */
/*                                                                            */
/*                 Funktionen für RTC usw.                                    */
/*                                                                            */
/*                                                                            */
/* ========================================================================== */
typedef char * string;
string W_TAG[7];  // 7 Strings


void time_init(void)
{
  W_TAG[0] = "MON";
  W_TAG[1] = "DIE";
  W_TAG[2] = "MIT";
  W_TAG[3] = "DON";
  W_TAG[4] = "FRE";
  W_TAG[5] = "SAM";
  W_TAG[6] = "SON"; 
  return 0; 
  }
aber in der Main kann ich nicht auf W_TAG zugreifen:
Code:
/* ========================================================================== */
#include <avr/io.h>
#include <stdio.h>
#include "my_ds1307.h"
/* ========================================================================== */
/*                                                                            */
/*                                                                            */
/* ========================================================================== */
/*                                                                            */
/*                                                                            */
/*                                                                            */
/* ========================================================================== */
extern string W_TAG[7];  // 7 Strings

int main(void)
{
int i;
 for(i = 0;i < 7;++i)
 puts(W_TAG[i]);    ///  W_TAG wird nicht erkannt
;
}
ich kann doch W_TAG[] nicht noch einmal definieren in der Main ??

Fehlermeldung:
../my_rtc_clock.c:54: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'W_TAG'
../my_rtc_clock.c: In function 'main':
../my_rtc_clock.c:60: error: 'W_TAG' undeclared (first use in this function)