Hallo,
Ich programmiere gerade mit Bascom kleinere Programme was auch bisher
gut funktioniert. Bei "größeren" wird es dann für mich schon etwas
schwieriger.
Das untenstehende Programm stellt ein Spannungsmesser dar, der von den
Ports PC0 nach einer Zeit zu PC1 geht und jeweils an den Ports die
Spannnungen misst, diese dann auch am LCD ausgibt (2 Digits)
Das funktioniert soweit auch.
Nun wollte ich zum Test, das wenn die Spannung z.B. bei Volt_2 "0.0"
oder "0.00" ist, das Portb.0 eine LED einschaltet. Das funktioniert
nicht.
Ich hab schon ein paar mal damit rumgespielt, nichts führte zum Erfolg.
Eigentlich wollte ich, das wenn Volt_2 über z.B. "5.0" ist, dass dann
die LED leuchet für eine unbegrentzte Zeit.
Für den ein oder anderen mag der Code unübersichtlich sein:
Ich kann dir nicht sagen wo das Problem liegt.
Aber da ja ein LCD vorhanden ist, würde ich einfach nach jedem wichtigen
Programmschritt eine Ausgabe auf das Display geben:
Variableninhalt,jetzt wird Programmschritt xyz ausgeführt,.....
Dann kommst du bestimmt auf den bug.
STK500-Besitzer schrieb:> schmeiss das "loop" und "do" zwischen den anderen beiden raus.
Danke, funktioniert.
Das hatte ich anfangs auch so gemacht, hat aber nie funktioniert.
Ich weiss auch warum, weil ich blöderweisse imer Volt_1 auf 0V gebracht
habe anstatt Volt_2
Dann hätte ich nochmal eine Frage, wenn im Programm steht
1
...
2
3
If Volt_2 = 4.00 Then
4
Portb.0 = 1
5
6
Wait 20
7
End If
8
9
Loop
10
11
...
Wie kann ich dann dem Programm sagen, das Portb.0 erst 1 sein soll, wenn
der Wert über 4.00 ist?
Das gleiche dann mit unter z.B. 4.00?
Ich konnte mit über und unter nichts im Netz finden.
Dann solltest du mal grundsätzlich programmieren lernen (sieht man auch
am restlichen Code) und nicht nur c&p.
Gleich: =
Größer: >
Größer oder Gleich: >=
Kleiner: <
Kleiner oder Gleich: <=
Hier noch ein kleiner Kurs. Mach ihn komplett durch, dann dürfte dein
Code schon besser aussehen.
http://halvar.at/elektronik/kleiner_bascom_avr_kurs
PS: 4.00 wirst du sowieso nie genau treffen.