vieleicht hilft dir ja die kleine idee
Dim A As Byte
...
Porta.0 = A.0
Portd.6 = A.1
Portd.2 = A.2
Portb.1 = A.3
Portd.3 = A.4
Portb.0 = A.5
Portd.4 = A.6
Portb.2 = A.7
hallo,
ich hab mir ein LED Cube zusammengelötet (3x3x3) mit einem Tiny2313 dran.
In den Ebenen habe ich die Kathoden zusammengefasst und in den Spalten die Anoden also insgesamt 12 anschlüsse.
Somit ist ja klar das ich verschiedene Ports nutzen muss.
So nun zum Porgramm ich hab mal was zu testen geschrieben
und zwar:
das funktioniert auch, aber so kann man das ja nich schreiben, viel zuu umständlich : )Code:$regfile "attiny2313.dat" $crystal = 1000000 Config Portd = Output Config Portb = Output Config Porta = Output Ebene1 Alias Portd.1 Ebene2 Alias Porta.1 Ebene3 Alias Portd.0 Lo Alias Porta.0 Lm Alias Portd.6 Lu Alias Portd.2 Mo Alias Portb.1 Mm Alias Portd.3 Mu Alias Portb.0 Ro Alias Portd.4 Rm Alias Portb.2 Ru Alias Portd.5 Do Ebene1 = 0 Ebene2 = 1 Ebene3 = 1 Lo = 1 Mo = 0 Ro = 0 Waitms 100 Ebene1 = 0 Ebene2 = 1 Ebene3 = 1 Lo = 0 Mo = 1 Ro = 0
so hab ich mir gedacht das ich eine Data Tabelle dafür schreibe, aber nun scheitere ich daran das ich den Cube an verschiedenen Ports habe?
könntet ihr mir vieleicht einen kleinen Gedankschups geben wie man so was progt?
besten dank schon mal dafür^^
vieleicht hilft dir ja die kleine idee
Dim A As Byte
...
Porta.0 = A.0
Portd.6 = A.1
Portd.2 = A.2
Portb.1 = A.3
Portd.3 = A.4
Portb.0 = A.5
Portd.4 = A.6
Portb.2 = A.7
ehm irgend wie funzt das nich : ( oder muss ich da noch was machen?
es ist einfacher zu antworten wenn man deinen code kennt!
weist du wie man das in eine tabelle dan schreibt?
also das mit dem Date und &00010101
halt über 3 ports das is mein Problem....
das raff ich einfach nicht.
aber trotzdem danke dir : )
hm,
Lookup -> Bascom hilfe wir helfen
noch eine hilfe(ist nur theoretisch habe ich noch nicht getestet)
A = Lookup(Stelle_in_Tabelle,Label)
Label:
Data &B0001100,&B00011111,&B11001100
^ ^ ^
Stelle_in_tabelle 0 1 2
ich hab das mal so geschrieben
kommt das der sache näher?
ich hab das Buch von Claus Kühnel da stand das so ungefähr drinne allerdings mit einer 7 segmentanzeige. aber das prinzip ist ja das selbe.
es haut noch nich ganz hin, im Buch is ja die anzeige an einem port und da staht dann Portb = X(i) , das kann ich ja nicht schreiben weil ich ja mehere ports habe *bruml*
das mit der Tabelle klappt dadurch noch nicht ganz
mfg
Code:$regfile "attiny2313.dat" $crystal = 1000000 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default use 10 for the SW stack $framesize = 40 Config Portd = Output Config Portb = Output Config Porta = Output Porta.0 = A.0 'Linksoben Portd.6 = A.1 'Linksmitte Portd.2 = A.2 'Linksunten Portb.1 = A.3 'Mitteoben Portd.3 = A.4 'Mittemitte Portb.0 = A.5 'Mitteunten Portd.4 = A.6 'Rechtsoben Portb.2 = A.7 'Rechtsmitte Portd.5 = A.8 'Rechtsunten Portd.1 = A.9 'Ebene1 Porta.1 = A.10 'Ebene2 Portd.0 = A.11 'Ebene3 Dim B As Word Dim A As Word Dim X(4) As Word Restore Data1 For B = 1 To 4 Read X(i) Next Do For B = 1 To 4 A = X(i) Waitms 500 Next Loop Data1: Data &B00000000111 , &B10000000011 , &B01000000011 , &B00100000011
die zuweisung solten schon mit in der Schleife stehen!
....
Do
For B = 1 To 4
A = X(i)
Porta.0 = A.0 'Linksoben
Portd.6 = A.1 'Linksmitte
Portd.2 = A.2 'Linksunten
Portb.1 = A.3 'Mitteoben
Portd.3 = A.4 'Mittemitte
Portb.0 = A.5 'Mitteunten
Portd.4 = A.6 'Rechtsoben
Portb.2 = A.7 'Rechtsmitte
Portd.5 = A.8 'Rechtsunten
Portd.1 = A.9 'Ebene1
Porta.1 = A.10 'Ebene2
Portd.0 = A.11 'Ebene3
Waitms 500
Next
Loop
Lesezeichen