Forum: Mikrocontroller und Digitale Elektronik PIC interne Ozsillator Konfigurationseinstellungen


von el p. (elpistolero84)


Lesenswert?

Hallo Leute,

kann mir jemand vllcht die konfigurationseinstellung der mikrocontroller 
PIC18LF45K22 für den internen oszillator mit 4mhz verraten???

lg

von tt2t (Gast)


Lesenswert?

siehe Datenblatt Page 32

von NurEinGast (Gast)


Lesenswert?

Hi, wenn du den c18 Compiler von Microchip verwendest, gibt es zu jedem 
PIC18F die Config Settings in einem übersichtlichen Help file. Zu finden 
bei installiertem c18 Compiler z.b. unter 
c:\programme\microchip\mplabc18\v3.40\doc (oder wohin auch immer du den 
Compiler installiert hast). Das File heißt hlpPIC18ConfigSet und sollte 
ein Html Document sein.

gruß

von NurEinGast (Gast)


Lesenswert?

edit ups.. überlesen das es um die Registereinstellungen für 4MHz 
geht, da bist du mit dem Datenblatt natürlich besser beholfen.

von el p. (elpistolero84)


Lesenswert?

hallo danke für die schnelle antwort..

es ist wahrscheinlich die folgende zeile was ich benutzen sollte. jedoch 
weiss ich nicht wie ich es mit C programmieren darstellen soll. dies ist 
meine erste erfahrung mit einem mikrocontroller :)

#pragma config FOSC = XT ???????

Register 4-6 OSCCON

101 = HFINTOSC/4 – (4 MHz)

von NurEinGast (Gast)


Lesenswert?

XT ist falsch, das steht für einen externen Quarz bis 4MHz. Du musst in 
der Konfiguration schon den internen Oszillator angeben und dann in den 
entsprechenden Registern (siehe Datenblatt) die 4MHz einstellen.

von Bastler (Gast)


Lesenswert?

Schau doch mal in die Header-Files (.h-Files), da sind alle benannten 
Register drin definiert, und auch einige nützliche Konstanten.

von el p. (elpistolero84)


Lesenswert?

ist das vllcht so wie únten richtig?

OSCCON = 0b01010100;

von Michael S. (rbs_phoenix)


Lesenswert?

Erstmal muss deine Config stimmen.
Hier mal das Datenblatt:
http://ww1.microchip.com/downloads/en/DeviceDoc/41412E.pdf

Jetzt guckst du, welche Einstellung du in der Config treffen musst. Da 
es dir um den Oscillator geht, guckst du bei FOSC, also Seite 357. Das 
was du willst schreibst du dann in deinen Code. Also
#pragma config FOSC = ...

und das ... ist das, was in der Beschreibung Fett gedruckt ist.

Hast du dort den Internen Oscillator gewählt, musst du nun noch 
einstellen, welche Frequenz du haben willst. Und das geht mit dem 
OSCCON-Register (Seite 32).

von el p. (elpistolero84)


Lesenswert?

für einen 4mhz internen oszillator

#pragma config FOSC = INTOSC_XT // XT Interne oszillator

OSCCON = 0b01010100;

ist das vllcht so in ordnung?

von Bastler (Gast)


Lesenswert?

Gewöhn es dir nicht so an; Register setzt man eigentlich so:

REGISTER = (1 << BIT_NUMMER_1) | (1 << BIT_NUMMER_2) | ...;

Dann kannst du den Bits sinnvolle Bezeichnungen geben.

von NurEinGast (Gast)


Lesenswert?

#pragma config FOSC = INTIO67  wenn du die pins RA6 und RA7 als GPIO 
verwenden möchtest. Die Einstellungen für das OSCCON Register (oder 
möglicherweise weitere) musst du wirklich im Datenblatt anschauen, das 
ist von PIC zu PIC verschieden. Ich hab halt grad kein Oszi da um das 
grad mal durchzutesten.

von el p. (elpistolero84)


Lesenswert?

el pistolero schrieb:
> für einen 4mhz internen oszillator
>
> #pragma config FOSC = INTOSC_XT // XT Interne oszillator
>
> OSCCON = 0b01010100;
>
> ist das vllcht so in ordnung?

also laut datenblatt ist es beim OSCCON register 4-6 für 4mhz(101) 
angegeben. das habe ich auch soweit angegeben..wie das mit

#pragma config FOSC = ...????

von Michael S. (rbs_phoenix)


Lesenswert?

el pistolero schrieb:
> wie das mit
>
> #pragma config FOSC = ...????

Weiter oben stand schon:
C:\Programme\Microchip\MPLAB C18 v3.42\doc
und dort dann hlpPIC18ConfigSet.chm

Da steht dann was von "PIC18LF4xxx Configuration Settings" und da ist 
dann dein 18LF45K22. Und da siehst du auch, was du beim FOSC angeben 
kannst und für was das ist.

von el p. (elpistolero84)


Lesenswert?

hallo leute,

ich meine ich habe es jetzt finden können

#pragma config FOSC = INTIO67; //Internal oscillator block

OSCCON = 0x54;

so wird der mikrocontroller dann mit 4mhz getaktet..!?!?

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
Noch kein Account? Hier anmelden.