- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 10

Thema: Beginner Problem, LED steuern?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Die Led sind schon richtig so, nur die Ansteuerung ist verkehrt.
    Du beginnst mit

    PORTC = 0b0100000; // Rote LED
    Damit setzt du PC5 auf 1 (5V) die Led ist aber auch gegen 5V geschaltet und leuchtet daher nicht.
    Infolge läuft deine Ansteuerung verkehrt.
    Übersichtlicher ist auch die Schreibweise wie sie "schorsch_76" schon gezeigt hat:

    PORTC |= (1<<5); // setzt das 5te Bit und lässt alle anderen so wie sie sind
    PORTC &= ~(1<<5); // löscht das Bit 5 und lässt alle anderen so wie sie sind (Hier leuchtet die Led)
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    12.04.2013
    Beiträge
    13
    Hallo,
    so, hab jetzt den code überarbeitet von mikrocontroller.net nochmal das tutorial angeschaut, das funktioniert jetzt so wie gedacht.
    Das Problem war meine falsche ansteuerung wie Hubert es gesagt, hab das falsch verstanden -.-.

    Hier der code mit Kommentar, falls der falsch ist bitte nimmt euch etwas Zeit nochmal und sagt was ich falsch beschrieben habe, so hab ich das jedenfalls verstanden:

    Code:
    int main()
    {
    	
    	//DDRC |= (1<<PC5);
    	//DDRC |= (1<<PC2);
    	//DDRC |= (1<<PC1);
    	//
    	DDRC |= (1<<PC5)|(1<<PC2)|(1<<PC1); // Pins 5, 2 und 1 auf Ausgang setzen, jetzt leuchten alle LEDs
    	
    	while(1)
    	{
    		//TODO:: Please write your application code
                    // Rote LED brennt
    		PORTC |= (1 << PC1); // Grüne und 
    		PORTC |= (1 << PC2);// gelbe deaktivieren
    		_delay_ms(1000); // 1sec warten
    		PORTC |= (1 << PC5); // Bit PC5 setzen->rote LED aus
    		PORTC &= ~(1 << PC2); // Bit 2 auf Port 2 löschen die gelbe LED brennt
    		_delay_ms(1000);
       		PORTC |= (1 << PC2); // das selbe wieder mit Port PC2, Bit setzen gelbe LED ist aus
    		PORTC &= ~(1 << PC1); // Bit löschen grüne LED brennt
    		_delay_ms(1000);
    		PORTC &= ~(1 << PC5); // rot wieder aktivieren
    	}
    	return 0;
    }
    Ich hoffe ich hab das jetzt richtig verstanden, wenn nicht muss die Docu noch mal her

    Besten Dank
    micron
    Geändert von micron (21.09.2014 um 22:10 Uhr)

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Ich denke mal du hast es richtig verstanden. Ein kleiner Schönheitsfehler ist aber noch drinnen.
    Code:
        while(1)     {         //TODO:: Please write your application code                 // Rote LED brennt         PORTC |= (1 << PC1); // Grüne und           "Diese beiden Zeilen gehören vor das          PORTC |= (1 << PC2);// gelbe deaktivieren   "while(1)        
     _delay_ms(1000); // 1sec warten
    PC1 und PC2 musst du nur einmal aktivieren, gehört daher vor das while(1)

    Da ist wohl irgendwie die Formatierung davongelaufen.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

Ähnliche Themen

  1. RNFBA Absolute Beginner
    Von mas im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 9
    Letzter Beitrag: 14.06.2011, 12:10
  2. Beginner, mehrer Fragen
    Von Thalhammer im Forum AVR Hardwarethemen
    Antworten: 34
    Letzter Beitrag: 03.12.2010, 20:29
  3. Beginner
    Von Thalhammer im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 21.05.2010, 18:20
  4. Beginner Code korrigieren
    Von onion im Forum Assembler-Programmierung
    Antworten: 23
    Letzter Beitrag: 21.08.2008, 22:01
  5. RGB LED Steuern
    Von luxor im Forum Elektronik
    Antworten: 21
    Letzter Beitrag: 08.12.2005, 08:57

Berechtigungen

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

12V Akku bauen