-         

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

Thema: Abfrage PD5 - geht nicht

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    26.12.2005
    Beiträge
    7

    Abfrage PD5 - geht nicht

    Anzeige

    Hallo!

    Ich will den Zustand von PIND5 abfragen und je nach Zustand den Wert einer Variablen ändern. Leider funktioniert es nicht. Was mache ich falsch?

    while (TRUE)

    {
    sta = 1;
    if (!( PIND & (1<<PIND5))) {sta=0;};

    }


    MfG Sven

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Was geht denn nicht ?
    Pin auch als Eingang definiert ?

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    26.12.2005
    Beiträge
    7
    Ja, ist als Eingang definert. "sta" wird dann in einer Interruptroutine verwendet. Das Programm ist ein Videoinserter mit einem AtMega8. Dort soll je nach Zustande des PIND5 ein anderes Zeichen eingblendet werden.

    Sven

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    42
    Beiträge
    849
    Servus Sven,

    hast das JTAGEN-Fuse richtig gesetzt? Probiers mal damit zuerst bevor du lange suchst.

    Grüße Wolfgang

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    @BlueNature
    Beim Mega 8 gibts kein JTag !

    @afusven
    und was geht jetzt nicht, ist sta immer 0 oder 1, oder wo zwickts ?

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    42
    Beiträge
    849
    Servus linux_80,

    da stand nichts von einem AtMega8, man muß immer von allem ausgehen wenn man keine genaue Infos hat. Woher weißt Du das es ein AtMega ist?

    Grüße Wolfgang

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    26.12.2005
    Beiträge
    7
    sta ist immer 1. Wenn ich sta an Anfang auf 0 setze, ist sta immer 0. Ich vermute, das es an der while-Schleife liegt...
    Ich werde morgen nochmal experimentieren.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo BlueNature,
    im 2. Post hat afusven geschrieben:
    Zitat Zitat von afusven
    ... mit einem AtMega8.
    deswegen dachte ich es geht um einen Mega 8


    @afusven
    ich glaub das ! spielt dir einen Streich, lass es mal weg, und stell das Programm um (if ... else ...).

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    26.12.2005
    Beiträge
    7
    Ich habe mit AVR-Studio nochmal simuliert:
    Wenn ich die while-Schleife weglasse, wird sta in Abhängigkeit von PIND5 gesetzt. Mit while-Sschleife geht es nicht!

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    26.12.2005
    Beiträge
    7
    Neuer Versuch: while-Schleife durch goto-schleife ersetzt - geht auch nicht!

    Aber: Compiler-optimierung von -o3 auf -o1 gesetzt - jetzt geht es!!!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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