www.mikrocontroller.net

Forum: Compiler & IDEs schleifenprob!!


Autor: lordchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin !
wennich das so mache wie hier :
wird t1 IMMER incrementiert
wenn einmal kurz auf taster 1gedrückt wird fängt er bei 0 an zu zählen

aber bit_is_set(PIND,PIND0) scheint immer true zu sein
aber wennich drücke wird nur t1 auf 0 gesetzt

  if(bit_is_set(PIND,PIND0))
  {
    t1++;
  }
  else
  {
    if (t1 = 10)
    {
      t1 = 0;
      lcd_clrscr();
      lcd_puts("    Taster 1    ");
      delay();
    }
  }


das ist doch auch richtig oder ?
DDRD  = 0;
PORTD = 255;

Autor: lordchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das egibt genau das sebe problem
naja ähnlich diemal wird irgenwie nix incerementiert und
        t1 = 0;
        lcd_clrscr();
        lcd_puts("    Taster 1    ");
        delay();
wird trotzdem ausgeführt ...

helpt me pleeez


    keys = ~PIND;              // read input port with switches 
(active-low)

        if ( keys & 1 )
        {
      t1++;

      if(t1 = 3)
      {
        t1 = 0;
        lcd_clrscr();
        lcd_puts("    Taster 1    ");
        delay();
      }
      else
      {
      }
    }
    else
    {
    }

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>    if(t1 = 3)
>>    {

Das ist aber ein berühmter Anfänger C-Fehler:
Ich glaube du meinst:

      if ( t1 == 3 )     // falls t1 GLEICH 3

Dein Ausdruck weisst der Variable t1 den Wert 3 zu und testet danach ob 
diese Variable 0 oder ungleich 0 ist.

Autor: lordchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
würg

danke das du mich erlöst hast !!!

.. also weiter gehts ;)

die email mit der makefile kannst du löschen ich habs hinbekommen ...

jetzt muss ich nurnoch diese abrage richtig hinkrioegen


sag mal diesen timer den ich da verwenet hae ... gibts da noch n' 2. von 
?

danke nochmal

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.