PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ports dynamisch in FOR Schleife ansprechen



mottobug
20.07.2007, 11:08
Hi,

ich versuche erfolglos innerhalb einer For Schleife Dynamisch den Zustand von Ports zu verändern. Ein paar Beispiele die ich mir ausgedacht habe, die aber nicht fuktionieren:

Basis Problem, ich hätte z.B. gerne die zweite LED angeschaltet:

Led1 alias Portc.1
Led2 alias Portb.1
Led3 alias Portd.1

dim i as integer

for i = 1 to 3
if i = 2 then
LedI = 1 ' XXX nur zur verdeutlichung
else
LedI = 0 ' XXX
end if
next i

Wie kann ich innerhalb der For Schleife an dynamisch errechnete Variablen kommen?

Dim fd(3) as keineahnungwas
fd(1) alias portc.1

for i = 1 to 3
fd(i) = 1
next i

Funktioniert nicht, alias ist in Bascom wohl sehr wörtlich gemeint.

Gibt es Referenzen oder Pointer mit denen ich Arbeiten kann? Oder irgendwas wie "eval"?

Bin für jeden Hinweis dankbar!
Gruß, Thomas

for_ro
20.07.2007, 12:11
Ich meine gelesen zu haben, dass in der Version 1.11.8.8 oder 1.11.8.9 (beta) das Auflösen von alias Arrays (bei dir wäre das LED(i)) funktionieren würde. Im Moment geht aber die Webseite von MCSelec nicht.
Musst du später mal checken.

Gruß

Rolf

mottobug
20.07.2007, 12:40
Ich meine gelesen zu haben, dass in der Version 1.11.8.8 oder 1.11.8.9 (beta) das Auflösen von alias Arrays (bei dir wäre das LED(i)) funktionieren würde. Im Moment geht aber die Webseite von MCSelec nicht.
Musst du später mal checken.

Gruß

RolfDie Website funktioniert wieder. Einen Hinweis konnte ich nicht finden. Wo muss ich denn da suchen?

Gruß Thomas

for_ro
20.07.2007, 12:41
Hab gerade nochmal nachgeschaut. Ist leider doch nicht der Fall.
Die haben in 1.11.8.8 nur einen Check eingebaut, dass du genau das nicht machen darfst.
Dann bleibt nur die Aussage, dass dies mit alias nicht geht.
Ist wohl geschickter, du setzt die LEDs alle hintereinander auf einen Port, dann kannst du schreiben
for i=1 to 3
PORTC.i=1
next i

Gruß Rolf