Was es gibt:
Meinst du sowas ?Code:Dim I as byte Do for i = 0 to 7 portb.i = 1 waitms 100 portb.i = 0 waitms 100 next Loop
Hi,
ich Suche eine Möglichkeit in Bascom, bei der man erst wie beim Alias
einem Port einen namen gitb, zb.
Led1 = portb.1
Led2 = portb.2
man das ganze dann ungefähr so abfragen kann
Dim I as byte
Do
Led(I) = 1
waitms 100
Led(I) = 0
waitms 100
I = I + 1
Loop
Das funktionirt mit alias nicht.
Gibt es da andere Möglcihkeiten?
Grüße Furtion
Was es gibt:
Meinst du sowas ?Code:Dim I as byte Do for i = 0 to 7 portb.i = 1 waitms 100 portb.i = 0 waitms 100 next Loop
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hi,
ja das meine ich aber nicht ganz, denn ich habe fast alle Ports eines At16
27 je 3 Pins für eine Led R G B. Dann möchte ich die
R1 = Rot LED1
...usw. nennen
und später dann in ner for next schleife das Rot(1) austauchen.
Ich hoffe man kans verstehen.
Grüße Furtion
Zwischentabelle ?
Eine Tabelle: index---> welches Port & Pin
0 ... portb . 1
1 ... portc . 3
2 ... portd . 7
.....etc. ...
PS: wie das technisch geht, reden wir, wenn es überhaupt was für dich ist
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hi,
ja das kann funktioniern, die hauptsache ist, dass die Ports andere Namen
bekommen, mitdenen man das machen kann wie ich mir das vorstelle.
Siehe oben
Grüße Furtion
Ich hatte mal eine Tabelle, immer paarweise
PORT-ADDRESSE , PIN
da konnte ich mit (z.B) "lookup" über einen durchgängigen Index beliebige Port-Pins ansprechen
Die tabelle war damit auch im Flash und hat dadurch keinen SRAM verbraten,
z.B die Pins von PORTB hiessen da so:
Den Zugriff hab' ich allerdings dann gleich im Inline-Assembler gemacht, weil es einfacher war. Is keine Sache, könnt ich dir zeigenCode:Port_Tab: DATA &H38 , 1 DATA &H38 , 2 DATA &H38 , 4 DATA &H38 , 8 DATA &H38 , 16 DATA &H38 , 32 DATA &H38 , 64 DATA &H38 , 128
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
warum soll das nicht gehen?
Config Pinb.0 = Output
Led Alias Portb.0
oder hab ich etwas missverstanden?
...
Noch ein Hinweis: Namen wie "R1" sollten nicht verwendet werden, da dadurch direkt Register angesprochen werden. (Den Fehler hatte ich auch mal). Lieber Rot1 etc.
Hi,
es ging darum, den Port und welches I/O gemeint ist, mit Variablen zu
bestimmen. Dann braucht man keine Riesen Do-Loops, sondern kann
das ganze in ner kleinen For-next abhandeln. Ich glaube man kann
das auch irgendwie mit Porta.COL = 1 machen, habe ich aber noch
noicht probiert.
Grüße Furtion
Lesezeichen