Forum: Mikrocontroller und Digitale Elektronik Einfache Frage zu Bascom Syntax


von Alex A. (Gast)


Lesenswert?

Hallo, Leute,
ich habe eine Frage.

Angenommen sind "A" und "B" meine Variablen.
Die können einen Wert bis 10 haben.

Ist will jetzt schauen, ob A= 2 UND B=4 ist.

Wie machen ich das Syntaxmäßig?
Habe damit irgendwie noch nichts zu tun gehabt.

Soll ETWA so aussehen:

If A=2 (UND???) B=4 then
gosub Treffer
Else return
End if

Wie ist das denn richtig geschrieben?

Danke
Gruss Alex

von holger (Gast)


Lesenswert?

>Wie ist das denn richtig geschrieben?

Das steht in dem gottverschissenen Handbuch von BASCOM.
Das solltest du mal lesen. Oder kannst du das auch nicht?

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Mit einem "AND". Aaaaaber: BASCOM erlaubt nur 1 Operand (nicht mehr und 
nicht weniger) pro Operation. Also musst Du das so prorammieren:
1
Dim Flag As Bit
2
Dim A As Byte
3
Dim B As Byte
4
5
Flag = 1
6
If A <> 2 Then Flag = 0
7
If B <> 4 Then Flag = 0
8
If Flag = 1 Then
9
  Gosub Treffer
10
EndIf

Ja, BASCOM ist etwas unflexibel in mancher Hinsicht...


Gruß
Jonathan

von Kuzus (Gast)


Lesenswert?

kein Wunder, wenn in diesem Forum einige ausrasten

http://avrhelp.mcselec.com/index.html?if_then_else_end_if.htm

von Alex A. (Gast)


Lesenswert?

>Mit einem "AND". Aaaaaber: BASCOM erlaubt nur 1 Operand

hm, nicht so gut. was machen ich, bei meinem Aktuellen Beispiel:

Int_mcp:
Gosub Lesen
Return

Lesen:
Disable Interrupts

Mcp2515_read_register Rxb0dlc
Wert1 = Canin
Mcp2515_read_register Rxb0d0
Wert2 = Canin
Mcp2515_read_register Rxb0d1
Wert3 = Canin
Mcp2515_read_register Rxb0d2
Wert4 = Canin

If Wert1 = 3 And Wert2 = 160 And Wert3 = 15 And Wert4 = 0 Then
Goto Bin_hier
Else
Goto Abfrage
End If


so wie du es vorgeschlagen hast, sieht das etwas "unhandlich" zu sein.

Gruss Alex

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
Noch kein Account? Hier anmelden.