Hi,
Du mußt für die Abfrage den Befehl PinX statt PortX nehmen. Zudem weiß ich nicht ob du Pullup Widerstand angeschlossen hast. Wenn nicht, kannst du den internen bei einem Eingabeport so einschalten:
portd.0=1 'Interner Pullup Widerstand einschalten
Wenn ich micht nicht irren, müsste Listing dann so aussehen:
Code:
Config Portb = Output
Config Portd = Input
portd.0=1 'Interner Pullup Widerstand einschalten
#loop
if Pind.0 = 0 then Portb.0 = 0 else Portb.0 = 1
goto loop
Allerdings ist das Programm nicht ideal, da Tastenprellen zu unsauberen verhalten führt. Dahe rgibt es in Bascom eine spezielle Portabfrage die Tastenpreller ausschließen. Wir fällt Bezeichnung nur gerade nicht ein - findet man aber schnell in der Hilfe
Übrigens kann ich wirklich dieses neue deutsche Buch von Roland Walter empfehlen, ich hab es fast durchgelesen. Es ist in erster Linie ein Bascom Buch bei dem solche Sache wie oben aber natürlich auch tiefergende sehr gut an Beispielen beschrieben werden. Wird zwar alles am Mega8 Beispiel beschrieben, aber das läßt sich fast alles auch auf andere AVR´s übertragen. Wer Probleme hat das Buch zu bekommen, kann es auch über robotikhardware.de beziehen. Kostet überall das gleiche.
Bild hier
Lesezeichen