-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Einfach Eingang auf Ausgang schalten ?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.09.2006
    Beiträge
    6

    Einfach Eingang auf Ausgang schalten ?

    Anzeige

    Hallo Leute,

    irgendetwas mache ich falsch, aber ich weiß nicht was.
    Ich verwende das STK500, WinAVR und einen ATMEGA8515L.
    Als einfachen Einstieg wollte ich nicht mehr als eine LED zum leuchten bringen wenn ich eine Taste drücke, aber obwohl ich den µC jedes mal lösche scheint da ein anderes Programm zu laufen weil anstelle das alle LEDs leuchten oder das ganze nur einmal ausgeführt wird o.ä. Was Fehler wären die ich verstehen würde, binkt LED1 immer in etwa 1s Intervallen.
    Liegt's daran das noch irgendetwas am µC steht oder am Code ?

    Vielen Dank für eure Hilfe.

    Lg,
    Gregor
    Code:
    #include <avr/io.h>
    #include <avr/interrupt.h>
     
    
    uint8_t input = 0x00;
    
    
    void main()
    {
    
    	DDRB = 0xff; //Port B = Ausgang
    	DDRD = 0x00; //Port D = Eingang
    
    	while(0)
    	{
    		input = PIND; //Port D in input einlesen
    		PORTB = input; //input auf Port B ausgeben
    	};
    		
    
    
    };

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    Bist du dir auch sicher, dass du den AVR richtig "geflasht" hast?

    Kannst du dein Problem bitte nochmal etwas verständlicher schildern?

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von robocat
    Registriert seit
    18.07.2006
    Beiträge
    935
    du hast auch so ein "while(0)" verbaut...

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von squelver
    Registriert seit
    20.07.2006
    Ort
    Hoykenkamp
    Alter
    37
    Beiträge
    2.474
    Ist es üblich hinter den schliessenden spitzen Klammern noch n Simecolon zu setzen?
    * Da geht noch was *

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    du hast auch so ein "while(0)" verbaut...
    des is so simpel, dass es mir vorhin gar nicht aufgefallen ist
    @Gregor1984: das muss natürlich
    Code:
    while(1)
    heißen. So, wie du es im Moment hast, wird die Schleife nie ausgeführt, da 0 schließlich immer false ist.

    Ist es üblich hinter den schliessenden spitzen Klammern noch n Simecolon zu setzen?
    Ich mach das jedenfalls immer ohne diese Semikolons. Wie es irgendein Standard vorschreibt, weiß ich nicht.

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von squelver
    Registriert seit
    20.07.2006
    Ort
    Hoykenkamp
    Alter
    37
    Beiträge
    2.474
    Der Schreibweise gegenüber php/ javascript ist da doch kein großer Unterschied, oder doch?
    * Da geht noch was *

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    ich glaub nicht, dass da ein Unterschied von der Schreibweise her ist

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    02.09.2006
    Beiträge
    6
    Danke für den Tip mit dem while(1), aber der Schlüssel zum erfolg war dach auch noch nicht.

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von squelver
    Registriert seit
    20.07.2006
    Ort
    Hoykenkamp
    Alter
    37
    Beiträge
    2.474
    Versuchs mal: Mach mal die überflüssigen Simecolions wech \/
    * Da geht noch was *

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    28.10.2004
    Beiträge
    899
    Würde ich auch sagen....soweit ich weiß sind die dort nicht Vorgeschrieben..also weg damit..

    Mfg.Attila Földes
    Error is your friend!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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