Hallo, ich programmiere gerade einen PIC18LF14K22. Leider bekomme ich es nicht hin, dass der interne RC Oszillator mit der eingestellten Frequenz läuft. Ich hab mein Oszi am CLKOUT Pin hängen um die Frequenz zu überprüfen. folgende Configuration Bits sind gesetzt: #pragma config FOSC = IRCCLKOUT #pragma config PLLEN = OFF #pragma config PCLKEN = OFF #pragma config FCMEN = OFF #pragma config IESO = OFF weiterhin habe ich folgende Register eingestellt: OSCCONbits.IDLEN = 0; OSCCONbits.IRCF2 = 1; // Oszillator läuft bei 4Mhz OSCCONbits.IRCF1 = 0; // OSCCONbits.IRCF0 = 1; // OSCCONbits.OSTS = 0; // Interner Oszillator OSCCONbits.HFIOFS = 1; OSCCONbits.SCS1 = 1; // Interner Oszillatorblock OSCCONbits.SCS0 = 1; OSCCON2 = 0x05; OSCTUNEbits.INTSRC = 0; OSCTUNEbits.PLLEN = 0; OSCTUNEbits.TUN5 = 0; OSCTUNEbits.TUN4 = 0; OSCTUNEbits.TUN3 = 0; OSCTUNEbits.TUN2 = 0; OSCTUNEbits.TUN1 = 0; OSCTUNEbits.TUN0 = 0; Das komische ist dass ich immer 1/4 der eingestellten Frequenz am Oszi sehe, sprich bei 4MHz habe ich 1MHz, somit komme ich maximal auf 4MHz wenn ich 16MHz einstelle. Nachdem ich jetzt x mal schon das Datenblatt studiert habe, frage ich hier. Vielleicht kann mir einer den entscheidenden Tipp geben. Danke im Vorraus.
Nein, oder? Und ich mach mir hier schon Gedanken, warum ich es nicht hinbekomme. Aber bei den Features steht: 31.25 kHz - 16 MHz internal oscillator, CLKOUT function on RA4/OSC2 Frage mich, wie man die 16 MHz dann erreichen kann?
> Vollkommen normal, PIC18 laufen IMMER mit 1/4 vom Takt.
Am CLKOUT liegt aber der Takt des Oszillators an. Die 1/4 sind die
Frequenz, mit der die Befehle abgearbeitet werden (1 Befehl sind 4
OSC-Takte).
also ist es normal, dass ich am CLKOUT immer nur 1/4 der eingestellten frequenz sehe?
Nein, denke nicht. Hast du den PLL aktiviert?
die PLL ist deaktiviert, aber laut datenblatt soll er ja auch 16MHz ohne PLL schaffen.
Wie gesagt, das ist normal so :) Da liegt der interne Clock an, also eben nicht der vom Oszillator When operating with either oscillator, OSC1 will be an I/O and OSC2 will be either an I/O or CLKOUT. The CLKOUT function is selected by the FOSC bits of the CONFIG1H Configuration register. When OSC2 is configured as CLKOUT, the frequency at the pin is the frequency of the Internal Oscillator divided by 4. Seite 19 des Datenblatts
Ah jetzt verstehe ich^^ Wenn ich OSC1 auf CLKOUT konfiguriere müsste ich auch die volle Frequenz sehen oder?
So wie ich das jetzt nach nochmaligen lesen verstanden habe, ist das nicht möglich den eingestellten Clock OSC1 auf CLKOUT auszugeben. Nun weiß ich ja dass mein Clock richtig eingestellt war und muss mir deswegen keine Sorgen mehr machen. Meine PWM läuft nun auch einwandfrei :) Ich möchte mich hiermit nochmal bei allen für die Aufklärung bedanken.
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.