- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 17

Thema: Temperatur anzeige auf dem LCD wird nicht aktualisiert?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker Avatar von Ferdinand
    Registriert seit
    10.09.2004
    Ort
    Stuttgart
    Alter
    44
    Beiträge
    230
    Dan müsste ich ja beide gedrückt haben.
    Nun zurzeit ist es egal, welche Taste gedrückt wird.

    Code:
                if(!(PIND & (1<<PD0))) // Taste 0 an PORTD PD0             {             _delay_ms(10);              i++;             lcd_setcursor( 0, 1);             lcd_string("Aetzlaufzeit ");             itoa( i, Buffer, 10 );    //Laufzeitvariable in Integer wandeln             lcd_string( Buffer );                       while(!(PIND & (1<<PD0)));             _delay_ms(10);             }              if(!(PIND & (1<<PD1))) // Taste 1 an PORTD PD1             {             _delay_ms(10);              i--;             lcd_setcursor( 0, 1);             lcd_string("Aetzlaufzeit ");             itoa( i, Buffer, 10 );    //Laufzeitvariable in Integer wandeln             lcd_string( Buffer );              while(!(PIND & (1<<PD1)));             _delay_ms(10);             }
    Und wen ich das verwende.

    Code:
                if(!(PIND & (1<<PD0))) // Taste 0 an PORTD PD0
                {
                _delay_ms(10);
    
                i++;
                lcd_setcursor( 0, 1);
                lcd_string("Aetzlaufzeit ");
                itoa( i, Buffer, 10 );    //Laufzeitvariable in Integer wandeln
                lcd_string( Buffer );
             
                    if(!(PIND & (1<<PD0)))
                    {
                    _delay_ms(10);
                    }
                }
    
                if(!(PIND & (1<<PD1))) // Taste 1 an PORTD PD1
                {
                _delay_ms(10);
    
                i--;
                lcd_setcursor( 0, 1);
                lcd_string("Aetzlaufzeit ");
                itoa( i, Buffer, 10 );    //Laufzeitvariable in Integer wandeln
                lcd_string( Buffer );
    
                    if(!(PIND & (1<<PD1)))
                    {
                    _delay_ms(10);
                    }
                }
    Dann wen ich denn Taster gedrückt halte, zählt die Variable rauf oder runter.

    Danke
    habe schreiben erst heute gelernt.

    bin legasteniger.

    by Ferdinand.

  2. #2
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.068
    Hm. Ich geh mal davon aus, dass du die Taster gegen Masse angeschlossen hast und mit dem internen Pullup-Widerständen betreibst, wie es in deinem Quellcode steht. Das Display geht also an, "LCD Start" wird ausgegeben, und die Temperatur wird EIN mal angezeigt und dann nicht aktualisiert. ist das so?
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  3. #3
    Erfahrener Benutzer Begeisterter Techniker Avatar von Ferdinand
    Registriert seit
    10.09.2004
    Ort
    Stuttgart
    Alter
    44
    Beiträge
    230
    ja stimmt !!!
    habe schreiben erst heute gelernt.

    bin legasteniger.

    by Ferdinand.

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Ja weil das Programm hier stehen bleibt:

    while(!(PIND & (1<<PD0)));
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.068
    Dort dürfte es ja eigentlich nur dann stehen bleiben wenn die Taste gedrückt ist, und an der stelle eine null im Register ist.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Er kann ja mal testen wo das Programm stehen bleibt indem er eine LED schaltet. Einfach verschiedene Stellen im Programm einen Pin auf High setzen. Dann sieht er ja wo es stehen bleibt.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  7. #7
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.068
    ja, so hab ich das auch immer gemacht. wenn dir ein jtagICE zur verfügung steht, kannst du den code auch live laufen lassen und schauen wo es hängt.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

Ähnliche Themen

  1. LM75 aktualisiert nicht (gelöst)
    Von marc2100 im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 02.09.2009, 15:04
  2. Temperatur und Luftfeuchte Anzeige mit AVR
    Von TheDarkRose im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 12
    Letzter Beitrag: 01.02.2009, 21:20
  3. Temperatur/Zeit Anzeige
    Von Edbeck im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 29.06.2007, 06:51
  4. ntc temperatur-anzeige
    Von fabix im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 06.05.2007, 12:35
  5. Problem mit DS1820 und Anzeige der temperatur
    Von martin66119 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 09.01.2007, 06:22

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress