Na ja, ich bin derzeit noch nur theoretisch damit beschäftigt (Lesen der
CMSIS Driver Lib, Examples -> GPIO -> LedBlinky). Der klassische
Einstieg halt...
SystemCoreClock ist dort mit
uint32_t SystemCoreClock = __CORE_CLK
definiert, weiter zurück ist __CORE_CLK als
#define __CORE_CLK (__FCCO(OSC_CLK) / __CCLK_DIV)
definiert, wobei darin wieder OSC_CLK mit
#define OSC_CLK (XTAL)
und XTAL mit
#define XTAL (12000000UL)
definiert ist und __CCLK_DIV mit
#define __CCLK_DIV (((CCLKCFG_Val) & 0x00FF) + 1)
sowie __FCCO mit
#define __FCCO(__F_IN) ((2 __M __F_IN) / __N)
usw., usw.
Und schon ist mir wieder ganz schwindelig und ich weiß nicht mehr, was
los ist.
Ich war eigentlich auf der Suche nach soetwas wie delay() bzw. wie ich
erstmal eine allgemeine "dynamische" Zeitbasis in einer Anwendung
bekomme, bis mir die Laufzeitvariable SystemCoreClock als (dachte ich)
genau soetwas in die Finger kam, was vieles bei Timing-Berechnungen
erleichtern würde.
In der Tat bin ich durch das Rückwärtsverfolgen voll vom Kurs
abgekommen, aber jetzt habe ich nach neuem Anlauf den (eigentlich
logischen ...) Weg zur Definition von Systick_Config() gefunden und
werde das mal durchgehen; das scheint auf den ersten Blick zielführend
zu sein. Wer wen warum wie und wann im Hintergrund defined, sollte mir
ja eigentlich egal sein :-)
Ich muß nun nur noch rausfinden, welcher tick darin nun wieder gemeint
ist (ich vermute SystemCoreClock?).