PIC16F818 und CCS-Compiler - OSCCON-Register

Gast #73459
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
Gast #73460
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
Gast #73461
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
Gast #73462
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! ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren