- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 8 von 8

Thema: Ist eine struct Definition als Stringarray möglich ??

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    75
    Beiträge
    1.175
    Blog-Einträge
    1
    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)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  2. #2
    shedepe
    Gast
    Dann deklariere W_TAG nicht in der my_ds1307.c sondern mit extern in der dazu gehörigen h Datei und binde diese über include in deine main.c ein

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    75
    Beiträge
    1.175
    Blog-Einträge
    1
    Besten Dank!!!
    Lach nun frisst doch der Teufel Fliegen, so hatte ich es ja in der UR-Version und da hat die "my_ds1307.c " gemecktert das das W_TAG für sie bei time_init unbekannt ist..und nun geht es...

    Na ja kann sein das ich was übersehen habe, oder falsch gedeute, jedenfalls bin ich ein "paar Kilometer" weiter jetzt bei meinem Vorhaben. Ich habe schon an mich selber gezweifelt tzzz.

    Danke sagt
    Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

Ähnliche Themen

  1. [ERLEDIGT] Probleme mit A Star, wenn Objekt größer ist als eine Nodepunkt
    Von Ritchie im Forum Software, Algorithmen und KI
    Antworten: 20
    Letzter Beitrag: 23.09.2012, 19:09
  2. switch case aud union und struct gehen schief, hat einer eine Idee warum ???
    Von jdelphi im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 0
    Letzter Beitrag: 29.09.2011, 13:04
  3. Zeiger auf Struct in einer Struct
    Von Jaecko im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 11.11.2009, 14:42
  4. Mehr als 12 sprünge auf eine Sprungmarke nicht möglich?
    Von strunz im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 10
    Letzter Beitrag: 19.10.2006, 08:38
  5. Ist das zuprogrammieren möglich ???
    Von Skull im Forum AVR Hardwarethemen
    Antworten: 9
    Letzter Beitrag: 21.08.2004, 12:13

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests