Hallo Ich hab noch eine Frage die mir seit einer Weile auf der Zunge liegt. Gibt es eine Möglichkeit Messwerte (über ADC) in eine Tabelle zu legen und sie umzuschlüsseln in Zahlen? In Basic gibt es den Befehlt Tabelle dafür, leider hab ich sowas in C noch nicht gefunden, gcc-avr, außer über eine sehr umfangreiche IF-Abfrage oder einer Select-Case Methode. Da es aber Wertebereiche von z.B. 100-150 = 10 ist, müsste ich 50 mal das selbe Tippen (101 = 10, 102 = 10...). Gibt es eine bessere Methode für so ein Fall?
@ Tin (Gast) >Ich hab noch eine Frage die mir seit einer Weile auf der Zunge liegt. >Gibt es eine Möglichkeit Messwerte (über ADC) in eine Tabelle zu legen >und sie umzuschlüsseln in Zahlen? Der ADC liefert schon Zahlen. Im Normalfall muss man nur einfach umrechnen, siehe Festkommaarithemetik AVR-Tutorial: ADC Tabellen nutzt man nur, wenn a) die Umrechung sehr schnell gehen muss b) die Umrechung ein komplexe, nichtlineare Rechnung erfordert >In Basic gibt es den Befehlt Tabelle dafür, leider hab ich sowas in C >noch nicht gefunden, Ein Array? > gcc-avr, außer über eine sehr umfangreiche >IF-Abfrage oder einer Select-Case Methode. AUA! >Da es aber Wertebereiche von z.B. 100-150 = 10 ist, müsste ich 50 mal >das selbe Tippen (101 = 10, 102 = 10...).
1 | if (adc>=100 && adc <=150) wert =10; |
Nur mal so als Idee.
MFG
Falk
>Gibt es eine bessere Methode für so ein Fall?
Ja.
MFG
Falk
Umrechnung nützt mir leider nichts, da es nicht Linear ist. Dein Beispiel mit der IF-Abfrage gefällt mir, daran dachte ich nicht ist aber genau das was ich bräuchte. Besten Dank :)
@ Tin (Gast) >Umrechnung nützt mir leider nichts, da es nicht Linear ist. Dann nimm ein Array. Das kommt sinnvollerweise in den FLASH. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Programmspeicher_.28Flash.29 MfG Falk
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.