Forum: Mikrocontroller und Digitale Elektronik arrays in bascom


von samuel c. (samclau)


Lesenswert?

hallo,


ich habe hier etwas programmiert womit ich bei einer ledmatrix mit shift 
register leds ansteuern kann und je nachdem ob eine eins oder eine null 
da steht geht ein pin an oder aus:

**************************************
1
$regfile = "m8def.dat"
2
$crystal = 8000000
3
4
Dim N As Byte
5
Dim A As Byte
6
Dim Row(12) As Byte
7
Row(1) = 0
8
Row(2) = 1
9
Row(3) = 0
10
Row(4) = 1
11
Row(5) = 0
12
Row(6) = 1
13
Row(7) = 1
14
Row(8) = 0
15
Row(9) = 0
16
Row(10) = 1
17
Row(11) = 0
18
Row(12) = 1
19
20
21
Config Portd = Output
22
Config Portb = Output
23
24
Do
25
26
For A = 1 To 12
27
28
Portb.4 = Row(a)
29
Portb.3 = 1
30
Portb.3 = 0
31
Portd.4 = 1
32
Portd.7 = 1
33
Waitms 1000
34
35
Next A
36
37
Portb.2 = 1
38
Portb.2 = 0
39
40
Loop
41
42
End

*************************
meine frage ist jetzt wie man die werte in der array auf einer kuerzeren 
art und weise aufschreiben kann ?

: Bearbeitet durch User
von fragezeichen (Gast)


Lesenswert?

kannst Du Deine Frage bitte so formulieren, dass man sie auch verstehen 
kann ?

von Roland .. (rowland)


Lesenswert?

Wenn das Array nur 1 und 0 beinhaltet und das bei nur 12 Elementen, dann 
brauchst Du eigentlich kein Array, da genügt ein Integer. Jedes Bit 
entspricht dann einem Element, eben 0 oder 1.

von kopfkratzer (Gast)


Lesenswert?

kopfkratz
Was steht in in der Hilfe/Doku zu Deinem BASIC Derivat ?
Es sollte folgendes gehen:
1
DIM Row AS Byte = {1,0,0,1,0,0,1,1,1}
probier's aus und wenn's nicht geht muß es halt zu Fuß ...

von samuel c. (samclau)


Lesenswert?

geht leider nicht

von Dino Dieter (Gast)


Lesenswert?

Hallo

So in der Art

Dim row as integer

LED1 alias Portb.4
config LED1 = output

row = &B0101_0101_0101_0101

For A = 1 To 12

if row.a = 1 then
   set LED1
else
   reset LED1
end if

next a


Gruß
Dieter

von samuel c. (samclau)


Lesenswert?

Danke das hat das geloest

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.