- LiFePO4 Speicher Test         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 26 von 26

Thema: scheitere an einfach if - then - else

  1. #21
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Anzeige

    Praxistest und DIY Projekte
    ...jetzt mal wieder 'ne Antwort für M!niM0nk3y:

    port d 0 ist ein taster an 5V
    Das könnte ein Problem sein: Wenn Dein interner PullUp-Widerstand aktiviert ist (portd.0=1), liegt der Eingang (pind.0) immer auf 1, egal ob der Taster gedrückt ist oder nicht. Ist der PullUp deaktiviert (portd.0=0), hängt der Eingang in der Luft, solange der Taster nicht gedrückt ist. Und das führt nicht gerade zu reproduzierbaren Resultaten...

    Kannste denn den Taster auch nach Masse schalten?

    Und wenn Du dann noch den Eingang korrekt mit "pind.0" abfragst, müsste das laufen...

  2. #22
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Merke
    Portd.x für Output-Sachen
    Pind.x für Input-Sachen
    Hierzu hätten sich die Entwickler von Bascom ja eigentlich schon irgendwas anwenderfreundlicheres ausdenken können.

    Über irgendwas wie PullupX.x zum Schalten und Abfragen der Pullups hätte sicher schon vielen Kunden eine Menge Zeit gespart.
    PORTX für den ganzen Port und PINX.X für einen einzelnen Pin wäre irgendwie auch naheliegender.

  3. #23
    Benutzer Stammmitglied
    Registriert seit
    23.02.2007
    Ort
    Villmar
    Alter
    34
    Beiträge
    92
    'Eingang=Pin , gegen Masse schalten =0
    das heißt ich muss den pin auf masse legen?
    aber es muss doch auch möglich sein mit nem high zu schalten...

  4. #24
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Kannst du natürlich auch.
    Dann muß aber der Pullup weg und ein externer Pulldown dran.
    Wenn du
    config pind.0 =input schreibst und Portd.0 auf 0 setzt,
    dann ist der Eingang offen und kann irgendwo mit der Spannung sein.
    Den musst du dann eben extern mit einem Widerstand nach Masse ziehen,
    sonst ist der Pegel undefiniert.

    Gruß
    Christopher

  5. #25
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    geht auch so :

    config pinb.1=output
    config pinb.2=input

    config portc=output
    config portd=input


    auslesen :

    a=portb
    pinb.1=1
    pinb=255
    b=portb.1

    mfg

  6. #26
    Benutzer Stammmitglied
    Registriert seit
    25.09.2007
    Ort
    Oldenburg
    Alter
    50
    Beiträge
    80
    @M!ni M0nk3y:

    Sollte auch gehen und ist vielleicht etwas einfacher

    Do
    portD.5=PinD.0
    Loop

    ansonsten einfach eine Bitvariable zu hilfe nehmen:

    Do
    bitvariable=PinD.0
    PortD.5=bitvariable
    Loop
    Alles wird gut... Gruß Alex

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

Solar Speicher und Akkus Tests