Forum: Mikrocontroller und Digitale Elektronik [Anfänger] Funktion von ROM_SysCtlClockSet


von Matze H. (Firma: privat) (mirrowwinger)


Lesenswert?

Hallo Microcontroller-community,

ich bin ein absoluter Anfänger in Sachen Microcontroller. Ich arbeite 
derzeit im Praktikum für meine Masterarbeit mit einem TI LM4F232H5QD 
Evaluation-Kit und habe die ersten Hürden (erstes eigenes lauffähiges 
Programm) genommen durch Studie der Beispielprogramme von Stellaris.
Mein erstes Programm ist nichts weltbewegendes, da es lediglich das 
Display in einer Farbe darstellt. Allerdings war der Weg als Anfänger 
bis keine Errors mehr beim Compilieren auftraten (umfangreiche Suche 
nach allen nötigen Einstellungen und vordefinierten Symbolen) schon 
etwas lang.
Ich möchte aber nicht nur irgendein Programm schreiben (in CCS) und mich 
nachher freuen, wenn es funktioniert oder ebend nicht, sondern ich 
möchte auch verstehen, wie es funktioniert.
Das erste was mir aufgefallen ist, ist die Funktion
1
ROM_SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
2
                       SYSCTL_XTAL_16MHZ);
Diese Funktion wird quasi von allen Beispielprogrammen aufgerufen. In 
meinem ersten Quellcode habe ich darauf verzichtet und das Programm 
läuft trotzdem. Ich weiß das ROM enthält einen Bootloader und die 
Funktion konfiguriert die "innere Uhr" des Microcontrollers aber warum 
muss ich diese konfigurieren, wenn nur etwas auf dem Display dargestellt 
werden soll? Und was bedeuten die Werte die in der Funktion verodert 
sind? anscheinend werden mehrere unterschiedliche Perepherien (SysDiv 
wahrscheinlich Systemdevice | OSC = oscillator | ...) angesprochen, was 
sehr verwirrend ist. Versucht man damit lediglich bauliche Unterschiede 
der Microprozessoren zu kompensieren oder spricht man damit wirklich 
alle aufgeführten Perepherien beim Microcontroller an?

Hoffe jemand mit mehr Erfahrung als ich, kann mir die ein oder andere 
Frage dazu beantworten.

Vielen Dank
mirrowwinger
von Uwe (Gast)


Lesenswert?

Steht alles im Datenblatt des µCs. Und ja man versucht die Unterschiede 
des µPs und der Externen Perepherie einzustellen, denn wenn da nen 4MHz 
Quarz dran wäre würden die Timing Funktionen  alles nicht richtig 
funktionieren. Kenn mich mit den Stellaris nicht aus.
Aber:
ROM_SysCtlClockSet -> System Control Clock Setzen (auf)
SYSCTL_SYSDIV_1    -> System Control SystemClock Dividiere durch 1
SYSCTL_USE_OSC     -> System Control Use Oszillator
SYSCTL_OSC_MAIN    -> System Control (den Main Oszillaror)
SYSCTL_XTAL_16MHZ  -> Und der hat 16MHz

näheres sagt dir das Datenblatt (warscheinlich unter System Control oder 
Clock Sources)
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.