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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.