- LiFePO4 Speicher Test         
Ergebnis 1 bis 4 von 4

Thema: Frage uber 'typedef enum'

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    67
    Beiträge
    531

    Frage uber 'typedef enum'

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Programmierer,

    Ich mache ofters ein programmierfehler...
    zum Beispiel:

    TCCR1A|=(1<<WGM13);

    obwohl WGM13 ein bit von TCCR1B ist und nicht von TCCR1A.

    Mit
    typedef enum{
    myWGM10=0x01,
    myWGM11=0x02
    }teTCCR1A;

    typedef enum{
    myWGM12=0x08,
    myWGM13=0x10
    }teTCCR1B;

    teTCCR1A myTCCR1A;
    teTCCR1B myTCCR1B;

    mochte Ich das losen, aber bei

    myTCCR1A=myWGM13;

    gibt die Compiler keine Fehlmeldung.

    Borland C Compiler gibt bei so etwas ein Compile Error

    Hat da Jemand ein gutes Idee?

    Gruss,

    Henk

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2004
    Ort
    Karlsruhe
    Beiträge
    223
    ähm, mit einem Typedef weist du normalerweise nur neue Werte zu. Also a la
    typedef enum { rot, gruen, blau} farbe;
    Danach kannst du die Werte für Farbe aber auch verwenden wenn du eine andere Variable hast, weil das dann auch nur wieder Zahlen sind. Ich wüsste nicht wie das was du da vorhast vernünftig funktionieren soll -- es wäre besser einfach die entsprechenden Bit-Defines auszudrucken und neben den Rechner zu hängen.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    67
    Beiträge
    531
    Ich wüsste nicht wie das was du da vorhast vernünftig funktionieren soll
    Jeden moglichen programmierfehler wird so vom compiler beschutzt.

    Wenn das Program ganz gross wird, kann man lange suchen nach einem solchen Fehler.

    Aber wenn's nicht geht, damit ist zu leben...

    MvG

    Henk

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2004
    Ort
    Karlsruhe
    Beiträge
    223
    Jeden moglichen programmierfehler wird so vom compiler beschutzt.
    Ähm, nein. Gerade C macht es dir vergleichsweise einfach Müll zu programmieren -- wenn du mal mehr mit Pointern gemacht hast wirst du es gemerkt haben. Basic und Co fangen da wesentlich mehr ab.

    Für µC's sehe ich C auch mehr als eine Art höheren Assembler an. C ist halt gerade bei größeren Programmen durchaus anspruchsvoll.

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad