machen ohne Befehl

Gast #3356898
Lesenswert?

Hallo zusammen.
1
int main(void) {
2
  lcd_init();
3
  init_io();
4
  init_timer();
5
  sei();
6
  int x1=0;
7
  char puffer[16];
8
  DrawRect(12,10,8,8,BLACK);
9
  DrawRect(28,10,8,8,BLACK);
10
  DrawRect(44,10,8,8,BLACK);
11
  DrawRect(60,10,8,8,BLACK);
12
  DrawRect(76,10,8,8,BLACK);
13
  DrawRect(92,10,8,8,BLACK);
14
  DrawRect(108,10,8,8,BLACK);
15
  FillRect(14,12,4,4,BLACK);
16

17
  while (1) {
18
    if ( get_key_press(1<<P_EINGANG0) ) {
19
      x1=x1+1;
20
      FillRect(30,12,4,4,BLACK);
21
    }
22
    if ( get_key_press(1<<P_EINGANG1) ) {
23
      x1=x1-1;
24
      FillRect(46,12,4,4,BLACK);
25
    }
26
    itoa(x1,puffer,10);
27
    SetFont(FONT_8_norm);
28
    LCDSoftText(puffer,0,30,BLACK);
29
    LCD_refresh();
30
  }    
31
}
in der while schleißfe:
1
while(1){
2
  if(Eingang0){
3
     zeichne rechteck 2
4
  }
5
  if(Eingang1){
6
    zeichne rechteck 3
7
  }
8
}
es zeichnet die beiden rechtecke von ganz allein, ohne dass ich ein 
eingang setze.
was mach ich falsch.?

danke.
mfg
#3356915
Lesenswert?

Warum nimmst du dann überhaupt die dannegger'sche Entprell-Routine? 
(nehme ich aufgrund des Funktionsnamens mal an).
Die erwartet glaube ich low-aktive Signale. Dementsprechend müssten die 
Pins des "anderen µCs" auch erstmal auf High sein wenn nichts passieren 
soll.
Ansonsten musst du die "Tasterabfrage" IMOH wieder umdrehen "i = 
key_state ^ ~KEY_PIN;" => "i = key_state ^ KEY_PIN;"
Gast #3356951
Lesenswert?

while (1) {

    if ( get_key_press(1<<P_EINGANG1) ) {
      x1=x1-1;
      FillRect(46,12,4,4,BLACK);  //zeichne
    }
     else{
       FillRect(30,12,4,4,White); //übermale
     }
  }

wenn eingang, dann zeichne
wenn kein eingang, übermale das

ist doch egal ob high oder low.
eins von beiden muss er doch machen
#3356984
Lesenswert?

Muss er das? Hattest du nichts von gesagt. Dein Code sah oben noch 
anders aus...
Vielleicht stellst du nochmal deine Frage und spezifizierst etwas 
genauer was überhaupt passieren soll und wie deine Eingangssigale 
aussehen. Und warum du dich für die Tasterentprell-Routine von Dannegger 
genommen hast wobei du doch gar keine Taster hast.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren