Forum: Gesperrte Threads funktioniert


von dude123 (Gast)


Lesenswert?

also vielen dank für die hilfe mein multiplex funtioniert jetz einfarbig
1
int j;
2
int i;
3
int l=0;
4
unsigned char row_data_green = 0;
5
unsigned char spielfeld[6][7];
6
isr_t0()interrupt 1
7
  {
8
  row_data_green=0;
9
  TR0=0;
10
  TH0=0xFE;
11
  TL0=0x0C;
12
  TR0=1;
13
  
14
    
15
    for (i=0; i<=6; i++)
16
        {
17
    if (spielfeld[j][i]==1){ row_data_green |=(1<<i);}
18
         }     
19
     
20
    P0 = 0; 
21
    P0 = (1<<j);
22
    P2=~row_data_green;
23
  
24
    j++;
25
    if (j>5)j=0;  
26
  }

was ich nicht verstehe, warum funktioniert das folgende für 2 farben 
nicht?
1
int j;
2
int i;
3
int l=0;
4
unsigned char row_data_green = 0;
5
unsigned char row_data_red = 0;
6
unsigned char spielfeld[6][7];
7
isr_t0()interrupt 1
8
  {
9
  row_data_green=0;
10
  row_data_red=0;
11
  TR0=0;
12
  TH0=0xFE;
13
  TL0=0x0C;
14
  TR0=1;
15
  
16
    if(l==0){
17
    for (i=0; i<=6; i++)
18
        {
19
      if (spielfeld[j][i]==1){ row_data_green |=(1<<i);}
20
         }     
21
     
22
    P0 = 0; 
23
    P0 = (1<<j);              //Spalten Grün
24
  P2=~row_data_green;   }
25
  
26
  else if (l==1){
27
  for (i=0; i<=6; i++)
28
        {
29
      if (spielfeld[j][i]==2){ row_data_red |=(1<<i);}
30
         }     
31
     
32
    P1 = 0; 
33
    P1 = (1<<j);               //Spalten Rot
34
  P2=~row_data_red;
35
  l=0;    }
36
37
  j++;
38
    if (j>5){
39
    j=0;
40
    l++;}  
41
  }
nach meiner theorie müsste jetz doch die ausgabe funktionieren
wenn ich z.b.
1
spielfeld[0][1]=1;
2
spielfeld[0][2]=2;
setze müsste jetz die led 1 spalte 2te zeile grün leuchten und die led 1 
spalte 3 zeile rot was aber passiert ist das [0][1] rot leuchtet und 
grün gar nicht, davor habe ich andere felder gesetzt und dann leuchtet 
die eine organge die andere rot also orange= grün + rot
in grün funtioniert alles, das was ich setze leuchtet auch

: Verschoben durch User
von Lehrmann M. (ubimbo)


Lesenswert?

1. Betreff vernünftig wählen. Was soll man denn mit dem Thema anfangen?
2. Welcher Compiler, welcher Controller ? Sollen wir raten?
3. Ganzen Code posten. Sonst kann man doch nicht helfen.
4. Hier im Forum wird die Groß- und Kleinschreibung beachtet.
5. Es fehlt eine Fehlerbeschreibung. Was genau passt nicht? Sollen wir 
das erraten? Dem von dir geposteten Kauderwelsch kann man kaum 
Information entnehmen

dude123 schrieb:
> setze müsste jetz die led 1 spalte 2te zeile grün leuchten und die led 1
> spalte 3 zeile rot was aber passiert ist das [0][1] rot leuchtet und
> grün gar nicht, davor habe ich andere felder gesetzt und dann leuchtet
> die eine organge die andere rot also orange= grün + rot
> in grün funtioniert alles, das was ich setze leuchtet auch

6. Verwende Punkt, Komma, Strich und Aufzählungen. Wir sind doch hier 
nicht in der Grundschule wo sowas nicht beherrscht wird. Ich lies doch 
den Satz nicht 20 mal bis ich ihn verstanden hab.
7. Es fehlt die Beschreibung der Hardware drumherum.
8. Woher weißt du, dass es kein Hardwarefehler ist?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Bitte Forenregeln beachten wie von Michael schon angemerkt.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.