-         

Ergebnis 1 bis 3 von 3

Thema: Zhlen der ausgeksten Tasterbettigung

  1. #1
    Neuer Benutzer fters hier
    Registriert seit
    04.09.2008
    Beitrge
    12

    Zhlen der ausgeksten Tasterbettigung

    Anzeige

    Nun da ich endlich geschafft habe meine Taster unter kontrolle zu bekommen u8nd sie den Selbstest und alles andere (andere Testprogramme fr Taster) ohne murren durchfhren, mchte ich nun eien Zhler bauen, der es mir erlaubt das auslsen eines Tasters zu erfassen.

    Im genaueren meine ich "Wird ein Taster gedrckt (im Moment egal welcher) soll der Zhler um eins ansteigen.

    Ich habe auch schon was probiert nur funktioniert das nicht so wie ich es gerne htte.
    Angehngte Dateien Angehngte Dateien

  2. #2
    Moderator Robotik Visionr Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beitrge
    5.785
    Blog-Eintrge
    8
    Hallo

    Bei Komplieren deines Programms erhalte ich unter anderem folgende Warnung:

    temp.c:13: warning: 'n' might be used uninitialized in this function

    Deshalb wrde ich in der Funktion zaehler() als Ersatz fr int n; folgende Zeile empfehlen:

    static int n=0;

    Das bewirkt, dass die Funktion die Variable nie mehr vergit (static) und beim ersten Mal mit 0 vorbelegt wird (=0).

    Einfacher geht es z.B. so:
    Code:
    #include "asuro.h"
    
    int main(void)
    {
       unsigned char i=0;
    
       Init();
       StatusLED(RED);               // Meldung Ende Init() erreicht
    
       while(1)
       {
    		while(PINC & (1<<PC4)); 	// Wird ausgefhrt solange keine Taste gedrckt wird
    
    		i++;                       // Zhler erhhen
    		if(i==5) StatusLED(GREEN); // Zhlerstand anzeigen
    		if(i==10) StatusLED(YELLOW);
    		if(i==15) { StatusLED(RED); i=0; } // und rcksetzen
    
    		while(!(PINC & (1<<PC4))); // Wird ausgefhrt solange eine Taste gedrckt wird
       }
       return(0);
    }
    Gru

    mic

    Atmels products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    02.01.2008
    Alter
    26
    Beitrge
    239
    hallo

    knnte es sein, dass es bei diesem programm zu falschen werten kommen knnte, da die taster womglich nicht entprellt sind?

    in der schule habe ich gelernt, dass beim drcken eines tasters und auch beim loslassen kurzzeitig der wert am pin zwischen 1 und 0 wechselt (es ist kurz ein kontakt, dann wieder nicht. und das etliche male)
    das wrde dann in diesem programm dazu fhren, dass ein zu hoher wert heraus kommt.
    man knnte dies umgehen, in dem man einfach beim erkennen eines gedrckten tasters einige ms wartet, und dann erst schaut, wann er wieder losgelassen wird. ebenso msste man es beim loslassen machen.

    wie gesagt bin ich mir aber nicht sicher, ob sie wirklich nicht entprellt sind
    mfg hai1991

    P.S.: wer grobuchstaben oder rechtschreibfehler findet darf sie behalten

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhnge hochladen: Nein
  • Beitrge bearbeiten: Nein
  •