PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie funktioniert Lookup()?



Robs0412
12.02.2007, 08:27
Hallo,

ich möchte mit einem ATmega88 die Signale eines Sensors aufnehmen (über ADC) und dann weiterverarbeiten und ausgeben.

Da andere Prozesse ebenfalls abgearbeitet werden müssen, kann ich diesmal die Auswertung des ADC Signals nicht über Gleichungen machen, sondern muss / will eine Wertetabelle nutzen.

Da schien mir der Befehl „Lookup“ ganz brauchbar.

Habe ein wenig probiert bekomm es aber nicht simuliert, wie ich es gern möchte.

Als Beispiel hab ich mal das probiert:



$regfile = "m88def.dat"
$crystal = 8000000
$baud = 9600

Dim C As Single

Hauptprogramm:

Do

C = 0

C = Lookup(5 , Werte)

Print C

Loop

End


Werte:
Data 1 , 2 , 3 , 4 , 5 , 123 , 7 , 8


Er müsste mir ja theor. 123 ausgeben.
Das macht er aber nur, wenn C als Byte definiert ist.
Da ich aber ganzzahlige Werte mit 8 Stellen haben werde, brauch ich ja Single?!

Hab ich nen Denkfehler oder funzt das gar nicht so? :-s

Wie könnte man das anders gestalten? (werde ca. 600 Werte speichern müssen)

Vielen Dank!

Grüße

Robert

MST_NRW
12.02.2007, 11:10
Schau' mal in der Bascom-Hilfe unter DATA nach, dort steht dann folgendes:

Integer and Word constants must end with the %-sign.
Long constants must end with the &-sign.
Single constants must end with the !-sign.
Double constants must end with the #-sgin.


Versuch es mal mit RESTORE und READ.

Robs0412
12.02.2007, 11:45
Hallo,

Danke! habs auch gerade gefunden :-) Seite 387 "Difference with QB"

Grüße

Robert