PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BASCOM-AVR | Problem in meiner Rechnung?



gRaf-eny
15.03.2006, 16:23
Hallo,
Ich will einen Potie auslesen und je nach stellung eine bestimmte wartezeit einbauen, das sollte doch nicht so schwer sein, oder?

Hier mein code auszug:

Dim R1 As Long

Start Adc
R1 = Getadc(1) 'werte von 400 bis 560
R1 = R1 * 0.1999375
R1 = R1 - 79.965

waitms R1

*Ich schätze es liegt an der Varieblen, hab schon:
Dim R1 As Single
Dim R1 As Integer
ausprobiert, aber das bringt auch nichts :(

*es liegt an den werten nachem punkt so geht es:
Dim R1 As Long

Start Adc
R1 = Getadc(1) 'werte von 400 bis 560
R1 = R1 * 1
R1 = R1 - 80

waitms R1

-> es wird kein fehler in bascom angezeigt sondern wenn das prog aufem chip ist "hängt er sich auf?" wenn er das überhaupt kann... er macht aufjedenfall nichts...

danke

Windi
15.03.2006, 21:17
Wie hast Du denn das Poti angeschlossen?

gRaf-eny
15.03.2006, 22:00
hier ist mein schaltplan
http://www.bildfaenger-film.de/extern/plan.jpg

murph
15.03.2006, 23:37
du musst die variable als gleitkommazahl deklarieren, ansonsten rechnet der auch nicht mit solchen

bertl100
15.03.2006, 23:39
Nimm R1 als Integer und eine andere Variable mit der du dann weiterrechnest. Diese muss dann allerdings eine Single sein.

MFG

Bertl

gRaf-eny
16.03.2006, 22:32
ah, danke!
es geht, aber ich glaube komma stellen nimmt er trotzdem nicht an..
aber er stürzt nicht mehr ab...

jetzt hab ich nochmal ne frage:

Wenn ich das hier mache:

Select Case X
Case 1 to 5
end select

dann geht es, aber ich möchte nur
Case 1 or 5
das geht nicht, weil er or nicht kennt...
gibt es was ähnliches? ich will ungerne
Case 1
Case 5
machen, weil es sowieso schon recht viele case werden :)

gRaf-eny
21.03.2006, 15:40
weiß das keiner?

lumilux
21.03.2006, 16:28
Hallo gRaf-eny,

bleibt immer noch diese Möglichkeit:


If X = 1 Or X = 5 Then

Elseif X = 6 Or X = 2 Then

Elseif X = 4 Or X = 8 Then


End If

Der erzeugte CODE wird auch nicht länger.

MfG Frank