-
        

Ergebnis 1 bis 8 von 8

Thema: Noch mal eine simple frage...

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.09.2005
    Ort
    Meschede
    Alter
    33
    Beiträge
    34

    Noch mal eine simple frage...

    Anzeige

    Hallo, schon wieder mal ein problem ;-(

    Ich hab an meinem atmega8 folgendes angeschlossen:

    an portB 3 und portb 4 sind leds angeschlossen.

    an portD 3 ist ein taster direkt auf Gnd.

    dann hab ich folgenden code auf den chip geladen:
    Code:
    .include "4433def.inc"     ;bzw. 2333def.inc
    
             ldi r16, 0xFF
             out DDRB, r16    ;Port B durch Ausgabe von 0xFF ins
                                      ;Richtungsregister DDRB als Ausgang konfigurieren
             ldi r16, 0x00
             out DDRD, r16    ;Port D durch Ausgabe von 0x00 ins
                                      ;Richtungsregister DDRD als Eingang konfigurieren
    
    loop:
             in r16, PIND      ;an Port D anliegende Werte (Taster) nach r16
                                      ;einlesen                    
             out PORTB, r16    ;Inhalt von r16 an Port B ausgeben
             rjmp loop         ;Sprung zu "loop:" -
    jetzt müsste doch wenn ich den taseter drücke die led an portB 3 ausgehen.

    aber wenn ich sie drücke gehen beide aus, wieso ?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.11.2004
    Ort
    München
    Alter
    30
    Beiträge
    447
    Hi,
    Ich hab mir deinen Code nicht genauer angesehen, aber Probiers mal mit .include "m8def.inc" statt .include "4433def.inc"
    MfG Alex

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    19.09.2005
    Ort
    Meschede
    Alter
    33
    Beiträge
    34

    huh?

    ich hab mir eben alles versucht damit das oben genannte doch funktioniert... hat aber wie beschrieben nicht geklappt...

    grad, nachdem ich jetzt ne stunde lang die finger davon gelassen hab drück ich den schalter und es geht nur ein licht aus ?!?

    dann warte ich wieder nen paar sekunden, hab den taster nen paar mal gedrückt, und dann gehen plötzlich wieder beide aus... versteh ich nicht...

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    10.10.2004
    Ort
    Niedersachsen
    Beiträge
    60
    Füge hinter
    ldi r16, 0x00
    out DDRD, r16 ;Port D durch Ausgabe von 0x00 ins
    ;Richtungsregister DDRD als Eingang

    einmal diese Zeilen ein:
    ldi r16, 0xFF
    OUT PortD, r16 ; interne Pull-Up-Widerständ einschalten


    Was passiert dann?

    Gruß, olfi

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    19.09.2005
    Ort
    Meschede
    Alter
    33
    Beiträge
    34
    hallo, habe das ausprobiert,

    wie beschriebn funktionierte das auch schon vorher, der unterschied der mir aufgefallen ist:

    wenn ich das programm teste dauert es ziemlich lange wenn ich den schalter drücke bis die led ausgeht (ca. 0,5sek) w
    wenn ich das ISP kabel abziehe funktioniert is direkt.

    wenn ich jetzt deinen code mit einfüge, gibt es garkeine verzögerung mehr, auch wenn das kabel vom ISP angeschlossen ist.

    könntest du mir vielleicht erklären wieso das so ist ?

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    10.10.2004
    Ort
    Niedersachsen
    Beiträge
    60
    Die Eingänge des Controllers sind hochhohmig, ohne die internen Pull-Up-Widerstände fängst Du dir alle möglichen Störungen ein.
    Damit besitzen deine Eingänge dann einen eher zufälligen logischen Pegel.

    Ich werde noch nicht ganz schlau aus deinem Text. Jetzt ist alles wie erwartet?

    Gruß, olfi

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    19.09.2005
    Ort
    Meschede
    Alter
    33
    Beiträge
    34
    ja, jetzt funktioniert alles wie erwartet. Danke nochmal.

    sehe ich das richtig, das ich dadurch ,das ich die als eingänge definierten pins von portb auf high setze, die internen pullup wiederstände aktiviere ?

    dadurch habe ich dann einen störungsfreieren portb, und deshalb behebe ich eine eventuell durch störungen bedingte fehlfunktion ?

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    10.10.2004
    Ort
    Niedersachsen
    Beiträge
    60
    So ist es.
    Gruß, olfi

Berechtigungen

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