gebrochene Schrittweite in einer Lookuptable

OP #4357228
Lesenswert?
• ▲
▼
Huhu,


ich habe eine Programm für einen Attiny44A geschrieben. Dort nutze ich 
eine 256 Byte look-up-table um eine Kurve auszugeben.

Also ich laufe die Tabelle von vorne bis hinten durch und geben die 
einzelnen Werte aus.

Nun möchte ich dies in einer andernen Geschwindigikeit tun. Erste Idee 
war es die Schritte zu erhöhen. Dies funktioniert auch sehr gut. Ich 
lese nur jeden zweiten oder dritten Wert ein. Ergo schneller.

Meine Frage ist, ob es vieleicht ein Verfahren gibt mit der ich z.B. 
jeden 1,5 oder 1,8 Wert einlesen kann.  Möchte die Schrittweite 
flexiebler einstellen können.
Bei einer Schrittweite von 1,5 stelle ich mir vor, dass er dann z.B. 
folgende Werte einließt. 1,3,4,6,7,9,10    (nur ein Beispiel weiß gerade 
nicht genau ob der Mittelwert stimmt)

In meinem Fall spielt die Verkleinerung der Schrittweite keine Rolle.
#4357250
Lesenswert?
• ▲
▼
Definiere dir eine Variable "Schritte-hochaufgelöst", in der du zB die 
Schritte mit Faktor 16 zählst. Ein Schritt wäre dann +16, 1.5 Schritte 
wären +24 usw. Zum Zugriff auf die Tabelle nimmst du dann diese Variable 
/ 16.
Etwas Erläuterungen zu solch einem Vorgehen findest du unter "DDS 
Phasenakkumulator".

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.