Hallo PIC Profis, ich bin ziemlich (gänzlich) unerfahren was die PIC's betrifft, möchte dies aber ändern und mir ein kleines Board mit dem PIC18F2321 aufbauen. Jetzt stellt sich bei mir voarab die Frage ob ein Quarz an OSC1/OSC2 nötig ist, schließlich verfügt der PIC auch über einen internen RC Oscillator, (Internal oscillator block) welcher 31kHz - 8MHz zur Verfügung stellt. So weit so gut dachte ich mir, da kann man sich den Quarz sparen. Beim näheren studieren des Datenblattes ist mir dann aufgefallen, dass die System Clock Select bits (SCS1:SCS0) per Default auf 00 und somit auf Primary oscillator (OSC1/OSC2) gestellt sind. Verstehe ich das falsch, oder kommt man ohne einen Quarz an OSC1/OSC2 nicht aus? Ich hoffe es kann mir jemand bei meinem Problem helfen. Vielen Dank schonmal vorab.
Die Taktquelle kannst Du über die Configuration-Bits einstellen, die beim Brennen gesetzt werden. Dort kannst Du auch den internen Taktgeber als Taktquelle einschalten. Du brauchst also keinen externen Quarz.
Super Danke für die schnelle Info. Ist das vergleichbar mit den Fuse Bits bei Atmel?
Ist grob vergleichbar. Die Kernfrage ist aber, wie genau der Takt sein muss. Der intern erzeugte Takt ist für manche Anwendungen nicht genau genug.
Also, etwas detaillierter: Mit SCS1:SCS0 wählst Du zur Laufzeit (also in Deinem Programm), ob der Takt vom primären Oszillator, von Timer1 oder vom internen Oszillator kommt. Per Default vom primären Oszillator. Aber: Welches der primäre Oszillator ist, wird mit den Configuration Bits (auch Fuses genannt) FOSC3:FOSC0 bestimmt. Dort kann mit 1000 der interne Oszillator gewählt werden, der per Default mit 8MHz läuft. Mit IRCF2:IRCF0 kann (zur Laufzeit) die Frequenz gewählt werden. Also: Beim Flashen des PIC muss der primäre Oszillator gewählt werden (Configuration bits FOSC3:FOSC0). Dies kann im Sourcecode eingebettet oder im Programmer gewählt werden. Anschliessend wird im Programm (Initialisierung) das Register OSCCON gesetzt mit den gewünschten Werten für SCS1:SCS0 sowie IRCF2:IRCF0. Alles klar? Wichtig bei Rückfragen: wie programmierst Du (Assembler, C, ...)?
Alles klar erstmal ;-) Danke für die ausführliche Antwort. Ich denke Rückfragen kommen erst dann wenn es ums programmieren geht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.