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