mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC18F2585 und CCP


Autor: HD_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HAllo,

ich habe ein Problem, wie so viele die hier posten!

ich benutze einen PIC18F2585 und bräuchte das CCP-Modul. Ist auch
vorhanden, allerdings habe ich im Datenblatt feststellen müssen, dass
das CCPR1L und CCPR1H-Register nicht existiert in genanntem Prozessor.
(Finde ich schon echt seltsam)

Wie kann ich trotzdem die CCP-Funktion benutzen ohne sie selbst über
einen Timer zu machen.

Wird vielleicht ein anderes Register stattdessen benutzt? Oder wie
bekomme ich es hin ohne nen interrupt dafür zu benutzen ???

vielen Dank schon mal im voraus
Gruß Holger

Autor: HD_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noch nen Nachschlag:

im PIC-Simulator der MPLAB-IDE werden die beiden Register jedoch
angezeigt (nur der Compiler kennt sie nicht)

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hast Du denn für einen Compiler?

Entweder sind die Register in der 18F2585.h definiert oder der Zugriff
kann über Sonderfunktionen erfolgen. Zur Not definierst Du dir die
Register eben selbst.

Autor: HD_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke

hmm, auf der Homepage von HTSOFT gibt es ein Update, mal schaun was das
bringt.

Aber seltsam ist es trotzdem, dass im Datenblatt drinsteht, dass die
beiden Register gar nicht implementiert sein sollen.

Ich bin schon fast der meinung dass das wohl ein Druckfehler ist, da an
anderen Stellen kein Vermerk ist, dass das Register nicht existiert.

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum sollten die Register nicht implementiert sein?

CCPR1H=0x0FBF
CCPR1L=0x0FBE

jedenfalls nach meinem Datenblatt.

Wo hast Du denn das gefunden?

Autor: HD_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datei 39625b.pdf (Datenblatt für 18F2585/2680/4585/4680)
Seite 173

ist allerdings wohl die einzige Stelle an der die Fußnote angegeben ist
!

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da hast Du wohl eine andere Datei wie ich. Du kannst davon ausgehen,
dass es ein Fehler ist.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Holger,

wo steht denn da genau, dass CCPR1L/H nicht existieren?

Der 18F2585 hat laut Datenblatt nur einen CCP, keinen ECCP (wie die die
PIC18F4X8X). Die Register CCPR1L/H gehören aber zum CCP1 und sind auch
vorhanden.

Da der Comiler sie nicht kennt, wird entweder ein falsches Headerfile
verwendet oder das des 18F2585 fehlerhaft (ein Fall für HI-Tech).
Sieh' doch mal im Headerfile nach, ob da Zeilen wie

 static volatile unsigned char  CCPR1L  @ 0x0FBF;
 static volatile unsigned char  CCPR1H  @ 0x0FBE;

vorhanden sind.

Andreas

Autor: HD_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Direkt von der microchip-homepage(z.B.)
hier der Link:
http://ww1.microchip.com/downloads/en/DeviceDoc/39625b.pdf
dann Seite 173
direkt neben CCPR1L/H steht die Fußnote und darunter der Hinweis
1: These registers are unimplemented on PIC18F2X8X devices.

na das sagt doch alles oder ?

Danke Andreas, siehe erster Post
offensichtlich haben sie es korrigiert, aber ich habe da noch ein
kleines Probl. jetzt mit dem Linken

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Holger,

genau das Datenblatt habe ich auch, aber ich habe verstanden: Auf
Datenblatt-Seite 173. Du meintest aber PDF-Seite 173, das ist
Datenblatt-Seite 171. Da ich die Datenblätter meist in gedruckter Form
habe, sehe ich natürlich die PDF-Seiten nicht.

Andreas

Autor: HD_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja,
sorry

soviel Papier um mich rum, da kann ich nicht vernünftig arbeiten :-)

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ein Schreibfehler. Wie Andreas schon gesagt hat betrifft das nur
die ECCPXX-Register.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.