Moin
Also besser als mit askazos Lösung wirst du net werden können.
Weil egal wie du es im Source schreibts wird dein Kompilier dir immer in etwa das hinoptimieren.
Selbst die switch und case Sache, wird der Kompiler auf If und else zurückvereinfachen und dann so ähnlich umsetzen.
Du könntest höchstens mit nem geschickten assembler Programm vllt. noch einen Takt einsparen, je nach dem wie man deinen Code umschreiben kann.
Auf der anderen Seite :
240 Takte bei 30mhz (komische Frequenz btw.)
240 / (1/ (30*10^6)) = 8*10^-6s = 8uS
Das sind 8us das heißt du kannst immer noch fast 125000mal pro Sekunde dein Array vergleichen.
Ob das jetzt als "eine Weile unterwegs" gilt überlasse ich mal deiner Definition
Was ich ich dann auch noch frage : Musst du mehrere Bits im selben Byte prüfen ?
Weil das werden dann weniger als 5Takte pro Abfrage, weil du ja nur einmal Laden musst um mehre Bits in dem Byte zu vergleichen.
Sprich du wirst noch etwas schneller.
Wenn dir das nicht reicht solltest du über einen größeren uC nachdenken, oder überlegen ob so viele Vergleiche überhaupt notwendig sind.
Machen vllt. mache Vergleiche andere überflüssig ? Gibts irgendwelche abhängigkeiten der Werte untereinander ?
Allerdings kann dir das keiner sagen, solange wir nicht wissen was warum so verglichen wird.
Gruß
Sebastian
Lesezeichen