www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC16F818 und CCS-Compiler - OSCCON-Register


Autor: Peter Werlitz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo und einen schönen guten Tag,

ich möchte den PIC16F818 mit einem internen RC-Oszilattor laufen lassen
und benutze den CCS C-Compiler. Wie kann ich das OSCCON- und
OSCTUNE-Register am besten einstellen?

Schöne Grüße
Peter

Autor: Peter Werlitz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry! Nicht Oszilattor sondern Oszillator ;-)

Autor: Fernando Heitor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Peter

mit dem Präprozessorbefehl #fuses kannst du die Config-Bits
einstellen:

#fuses INTRC,NOWDT,PUT,NOMCLR,BROWNOUT

Hier schaltest du den internen RC-Oszillator ein (INTRC), Watchdog aus,
Powerup Timer ein, NOMCLR (MCLR ist ein I/O) , Brownout ein.

INTRC ist für deine Einstellungen . Die anderen Einstellung musst du
nach deinen Konfiguration einstellen.

Fernando Heitor

Autor: Peter Werlitz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Fernando und andere Mitleser,

danke erst einmal, aber mit #fuses INTRC,... habe ich ja den internen
Oszillator eingeschaltet. Das ist klar! Beim PIC16F818 kann ich die
Frequenz über das OSCCON-Register einstellen z.B. den Wert 0x70 für
8MHz. Die Frage war eigentlich, wie ich genau dieses Register
einstellen kann. Gibt es da einen Befehl für oder wie kann ich das
Register einstellen. Dann kann man noch ein Feintuning mit OSCTUNE
vornehmen, was allerdings nicht unbedingt nötig ist, da ich den
Oszillator auch mit dem Setzen von BIT2 des OSCCON-Registers stabiler
machen kann.


Vielleicht habt ihr ja noch einen Tipp? :-)

Gruß
Peter

Autor: Fernando Heitor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Peter,

jetzt habe ich verstanden, was du möchtest.
Es gibt im Moment keine Sonderfunktion für den CCS C-Compiler  um die
Frequenz über das OSCTUNE-Register einzustellen.
Aber es gibt bei einigen PIC-Headerdateien die Funktion
setup_oscillator(). Vielleicht ist in der Headerdatei des PIC16F818
diese Funktion auch integriert.
Habe leider in meinem Compiler Version diesen neuen PIC noch nicht
integriert.

Ansonsten konfigurierst du, wie du schon oben erwähnt hast, das
Register OSCTUNE direkt.

Fernando Heitor

Autor: Peter Werlitz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Fernando,

einen Befehl setup_oscillator() kennt der CCS-Compiler leider nicht.
Ich wußte auch schon mal, wie ich Register in C auch direkt
manipulieren kann. Es ist das Register 0x8F! Weißt du vielleicht, wie
das geht?

Gruß
Peter

PS: Ich habe deine Webseiten nun auch gefunden und in dem CCS-Forum
ebenfalls diese Frage gestellt! ;-)

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#byte blabla 0x8F

blabla=...

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#byte blabla=0x8F

blabla=...

so..

zumindest gehts mit

#bit asdf=x.y

so

wirf mal einen blick in die hilfe

Autor: Peter Werlitz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank euch allen für die Hilfe!
Ich habe es dann so gemacht

 #byte OSCCON = 0x8F
 OSCCON = 0x64;

und so funktioniert es dann auch.

Schöne Grüße
Peter

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.