Hallo Rolf,
vielen Dank für Deine Antworten.
Rolf schrieb:
> Flevi schrieb:
> IntelliSense-Funktion der IDE? Ich vermute mal stark, dass man so auch
> die anderen (in dem Beispiel nicht benutzten) Einstellungen machen kann.
> Bei einer vernünftigen IDE schreibst du timerParams., und die IDE bietet
> dir dann nach dem Punkt innerhalb einer Sekunde alle
> Auswahlmöglichkeiten an. Anhand der Namen kannst/musst du dann die
> Funktion erraten
> Geht das denn nicht?
IntelliSense funktioniert, wie von Dir beschrieben. Es gibt aber nur
eine Auswahl von den 8 Funktionen, die im Handbuch vom SDK beschrieben
sind. Der eingebundene Header "TimerP.h" bietet ebenfalls nur diese 8
erwähnten Funktionen an.
(zur Info: als IDE benutze ich Visual Studio Code zusammen mit dem
C++-Compiler von TI)
Rolf schrieb:
>> "timerParams.enableOverflowInt = 1;
>
> Siehe oben. Mit dieser Einstellung aktiviert du den Overflow-Interrupt
> des Timers, d. h. die von dir zu schreibende Interruptroutine wird beim
> Interrupt angesprungen. Dafür haben µPs in der Regel eine feste
> Interrupttabelle, in der ein Sprung zu deiner Interruptroutine
> eingetragen werden muss. Wo die Tabelle liegt, weiß ich nicht, in dem
> von dir zitierten Datenblatt sehe ich aber Tabellen dieser Art. Nicht
> (nur) unter "Timer" nachlesen, sondern (auch) unter "Interrupts".
>
Danke für den Hinweis. Ich versuche da mal etwas zu finden.
Kurz zum Verständnis: Der Interrupt vom Overflow wird ausgelöst, wenn
der 32bit-Wert überläuft, oder der Timer über den Wert der eingestellten
Periode zählt?
Rolf schrieb:
>> Direkt über die Register?
>
> Wenn es keine passende API bzw. Lib gibt, dann über die Registernamen.
> Deine IDE sollte die Namen kennen, sodass du keine numerische
> Registeradressen benutzen musst.
Wenn ich direkt auf die Register muss, über welche Funktion geht das
normalerweise? Es müsste dann irgendwie sowas geben:
1 | auto readRegister(addr);
|
2 | void writeRegister(addr);
|
Aber ich habe bisher nirgends etwas gefunden, wie diese Art Funktionen
für den AM64x von TI benannt, bzw. benutzt werden sollen.
Rolf schrieb:
>> Das würde mir aber den Prozess blockieren, bzw. das ständige Prüfen wäre
>> doch dann kein "echter" Interrupt mehr.
>
> Richtig. Aber es geht ganz sicher auch mit echten Interrupts. 1000
> Seiten Datenblatt wollte ich jetzt aber nicht studieren.
Verständlich! Vielen Dank für Deine Mühe bisher!