- LiFePO4 Speicher Test         
Ergebnis 1 bis 5 von 5

Thema: pic12f1572.h ==> PS0 PS1 PS2 fehlen

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076

    pic12f1572.h ==> PS0 PS1 PS2 fehlen

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,
    mich hat grad der XC8 Compiler angemeckert

    und nach etwas Suchen, weis ich nun auch warum.

    In der Datei pic12f1572.h fehlen die Bit Definitionen für den Prescale des Timers 0

    um meinen Prescale des Timers 0 auf 1:2 einzustellen, sah mein Code so aus:
    Code:
     PS0 = 0;
     PS1 = 0;
     PS2 = 0;
    was der Compiler mit "undefined identifier ..." anmeckert.

    Diese Bits befinden sich im OPTION_REG

    entweder man ändert den Headerfile oder man kann auch mit

    Code:
      OPTION_REGbits.PS0 = 0;
      OPTION_REGbits.PS1 = 0;  
      OPTION_REGbits.PS2 = 0;
    auf dieses Bits zugreifen, in der Typestructur sind diese nämlich noch vorhanden.

    in der Headerdatei vom PIC12F1840 sind diese Bits auch vorhanden, dort kann man sich das "rausklauen" bzw. ansehen, wie es auszusehen hat.

    Siro

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Siro Beitrag anzeigen
    Hallo,
    mich hat grad der XC8 Compiler angemeckert

    und nach etwas Suchen, weis ich nun auch warum.

    In der Datei pic12f1572.h fehlen die Bit Definitionen für den Prescale des Timers 0

    um meinen Prescale des Timers 0 auf 1:2 einzustellen, sah mein Code so aus:
    Code:
     PS0 = 0;
     PS1 = 0;
     PS2 = 0;
    Vielleicht hat der µC zuviele PSx Bits in verschiedenen Registern, daß es keinen Sinn macht, globale Symbole mit solchen Namen zu erstellen. Bei den PICs sind die kurzen Namen meist nur #defines für die vollständigen, wie

    Code:
    #define PS0 OPTION_REGbits.PS0
    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Hallo Klebwax,
    das kann man auch so machen, wie Du geschrieben hast, ich habe das probiert.

    #define PS0 OPTION_REGbits.PS0
    #define PS1 OPTION_REGbits.PS1
    #define PS2 OPTION_REGbits.PS2

    Es gibt dabei keine Namenskonflikte.
    Compiliert der XC8 einwandfrei.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Ich benutze bei Parametern, die größer als ein Bit sind, gern die zusammengefasste Version:

    Code:
    OPTION_REGbits.PS = 0b000;
    Das sieht dann genauso aus, wie die Beschreibung im Datenblatt.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Sieht auf jeden Fall besser aus.

Ähnliche Themen

  1. Projekt an der A9 startet - Ladestationen für Elektroautos fehlen
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 3
    Letzter Beitrag: 15.05.2014, 17:37
  2. Welche Drehteile braucht fehlen Euch immer?
    Von redround im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 2
    Letzter Beitrag: 13.05.2014, 20:51
  3. ATMega1281 durch fehlen von AVCC zerstört?
    Von Accenter im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 04.04.2014, 14:52
  4. Linien fehlen: Eagle
    Von Nils Wenzler im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 8
    Letzter Beitrag: 18.07.2007, 19:09

Berechtigungen

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

Labornetzteil AliExpress