Ansicht umschalten
Avatar von OscarWild
  • OscarWild

mehr als 1000 Beiträge seit 02.05.2003

Re: Achherrje, Qt/C++ Opis berichten aus der Steinzeit ....

Atalanttore schrieb am 22.12.2019 16:24:

"Saturierungsoperationen" scheint ein ARM-spezifischer Begriff zu sein wie SSAT/USAT und RBIT.

Der Begriff nicht, die konkreten Kommandos schon (weshalb es sich anbietet, diese zu kapseln, allein schon wegen der Portierbarkeit), und für manche Anwendungen sehr nützlich, weil ein entsprechendes Hochsprachenkonstrukt ein Vielfaches der Rechenzeit benötigen würde.

Zu den Kommandos:
http://infocenter.arm.com/help/topic/com.arm.doc.qrc0001m/QRC0001_UAL.pdf

Meine Absicht war tatsächlich etwas Neues zu erfahren.;-)

Na gut. Es gibt eine ganze Menge Möglichkeiten, z.B.
- einen Hardware-Timer mit niedriger Frequenz, der - abgesehen von der Initialisierung - keinerlei CPU-Zyklen im Betrieb kostet, und den I/O-Pin direkt bedient
- Software-Timer/Delay eines präemptiven RTOS, so vorhanden
- zyklisch inkrementierter Systemzeitzähler (i.d.R. interruptgetrieben), Zählerreferenz beim Start nehmen, zyklisches Polling des Blinkobjekts mit angemessener Abtastfrequenz, Toggeln des Ausgangs, wenn die Differenz zwischen Zählerreferenz und aktuellem Ist-Wert das gewünschte Intervall überschreitet. Intervall zur Zählerreferenz addieren. Probleme beim Zählerumbruch durch vorzeichenlose Arithmetik vermeiden.
- ähnlich wie zuvor, nur mit dedizierten, in einem Timerinterrupt inkrementierten Zähler für den Blinker
- ...

Es gibt viele Möglichkeiten und unzählige Variationen. Das aktive Verbraten von Rechenzeit ist die mit Abstand schlechteste davon, sofern man beabsichtigt, mehr als nur ein reines Blinklicht zu basteln.

Bewerten
- +
Ansicht umschalten