Oszillator- und Timerkonfiguration PIC 18F4550

Gast #2550160
Lesenswert?

Hallo,

ich bin neu auf dem Gebiet µC und habe meine erste Schaltung aufgabaut.

Ich bin mir unsicher ob ich das mit dem Timer und dem Oszillator richtig 
gemacht habe.

Folgende Konfigurationswöter habe ich verwendet:
1
#pragma config PLLDIV = 5

soll ein Osziallator mit 20MHz sein
1
T1CON=0b10111001;

Der Timer soll durch den Osciallatortakt gesteuert werden.

Ich habe kein Oszilloskop oder der Gleichen und kann es nicht 
kontrollieren.

Das mit dem PLLDIV =5 habe ich irgendwo abgeschrieben und habe es 
versucht mit dem Datenblatt abzugleichen und habe die konfig nur in 
"OSCILLATOR CONFIGURATION OPTIONS FOR USB OPERATION" wiedergefunden.

Weiß jemand was? Kann mir jemand helfen?

Anke
Gast #2550641
Lesenswert?

1
#pragma config PLLDIV = 5

In der Zeile bin ich mir noch sehr unsicher ob dadurch der Takt von 
20MHz konfiguriert ist.

Ich würde mich über eine kleine Resonanz freuen ob das so passt oder ob 
ich etwas Anderes in die config schreiben muss.

Vielen Dank und einen schönen Abend,

Anke
#2550661
Lesenswert?

Timer1 kann nur mit FOSC/4 "ticken". Wenn du es schneller brauchst geht 
das nur mit einem schellerem Oscillator (48MHz max). Es gibt auch die 
Möglichkeit einen Osci nur für Timer1 anzuschließen RC1/RC0.

PLLDIV = 5 ist nur ein kleiner Teil der OSC Konfiguration.
Schau mal ins Datenblatt unter Oscillator Seite 26.

z.B.
#pragma config PLLDIV   = 1
#pragma config CPUDIV   = OSC3_PLL4
#pragma config USBDIV   = 2
#pragma config FOSC     = XTPLL_XT
Gast #2550736
Lesenswert?

Danke Carsten.

Schneller Ticken ist nicht nötig. Ich will nur wissen wie es zu 
definieren ist und stehe dabei auf dem Schlauch.

Primär geht es mir darum meinen PIC-Arbeitstakt einzustellen.

Dafür habe ich einen 20MHz Oszillator an OSC1 und OSC2 angeschlossen 
(mit entsprechenden 15pF Kondensatoren)

Nach dem Blockschaltbild (Seite 26, Datenblatt) geht der nun auf den PLL 
Prescaler.
Da habe ich eingestellt "5". Wie ich es verstehe geht das aber nur um 
ein USB-Interface, richtig? Das habe ich nicht. Ist überflüssig?

Weiter geht er auf den CPUDIV (oscialltor prescaler). Der müsste ja wenn 
ich 20MHz haben möchte 0 sein, richtig?

Was bedeutet dann

Carsten M. schrieb:
> #pragma config CPUDIV   = OSC3_PLL4

und

Carsten M. schrieb:
> #pragma config FOSC     = XTPLL_XT

Die Ausdrücke sind im Datenblatt nicht zu finden.

Danke, Anke
#2550951
Lesenswert?

mein vorschlag: bringe in deiner while(1)-schleife erstmal eine LED zum 
blinken, sonst nichts; z.b. 1 sec an 1 sec aus. daraus kannst du 
schliessen, wie du deine taktquelle definert hast. das erspart uns das 
raten und dir das fragen mit sachen, die du nicht nachschlagen willst. 
melde dich anschliessend wieder.
anderer vorschlag: wenn du wirklich neu in der uC-materie bist: mach ein 
tutorial durch - z.b. ein blinklicht ;-)
Gast #2551749
Lesenswert?

Ach diese Noobs, zu faul zum lesen. Finde ich ziemlich gemein, so eine 
Aussage.

Im Datenblatt steht wirklich wenig über die Konfiguration.

Ich habe aber eine Datei gefunden, wo weiß ich nicht mehr, die sehr 
hilfreich ist.

Da klapps auch mit der Config als Noob.
Angehängte Dateien:
#2552006
Lesenswert?

die von dir ursprünglich genannte seite aus dem datenblatt, auf der du 
eine schöne übersicht über die verschiedenen taktquellen, teiler , PLL 
etc. hast, ist der schlüssel! bezeichne deine taktquelle als 'A' und 
deinen CPU-takt als 'B', nimm einen stifft und zeichne den weg von A 
nach B. dann siehst du, welche register du setzen musst, und welchen 
wert sie haben müssen.

> Das mit dem PLLDIV =5 habe ich irgendwo abgeschrieben
ich habe mal ein auto rückwärts fahren gesehen, deshalb fand ich, das 
übernehme ich mal so auf meinen fahrstil. liebes forum, warum komme ich 
nicht über 40km/h. und an alle, die mich anhupen auf der autoban: ich 
finde das ziemlich gemein...

> Ich habe aber eine Datei gefunden
[hier könnte ich das gleiche schreiben wie oben] ...nimm doch das für 
deinen PIC und nicht irgendeines ^^ ich nehme auch nicht die 
bedienungsanleitung für einen traktor, wenn ich ein auto fahren will.

ich lege dir einmal mehr seeeeehr ans herz, ein tutorial zu machen.
#2552537
Lesenswert?

naja, sieh's doch so, dass du dir damit selber einen gefallen machst: 
anstatt viel zeit zu verlieren, fragen stellen etc. kannst du von einem 
funktionierendem programm ausgehen, das du modifizieren kannst. wenn die 
modifikation in die richtige richtung ging, dann bravo; ansonsten 
machstes rückgängig. step by step.

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