14.11.2004, 21:49
Hallo Wissende,
ich habe ein Problem beim Einlesen der Pins beim ATmega16. Ich habe ein kleines Testprogramm mit BASCOM geschrieben, bei dem ich den Port C als INPUT declariere und die Pull-up-Widerstände auf allen Pins einschalte. Die Pins sind in der Schaltung offen. Wenn ich nun mit dem Pinc-Befehl die einzelnen Pins auslese und auf einem LCD-Display ausgebe (das ist auf Port B angeschlossen) sind die Bits 0, 1, 6 und 7 auf log.1 und die Bits 2, 3, 4 und 5 auf log.0. Eigentlich sollten alle auf log.1 sein!
Wenn ich nun die Pins in der Schaltung mit 0 verbinde reagieren nur die Bits 0 und 1. Die anderen lassen sich nicht beeindrucken.
Ich habe diese Phänomen mit 4 ATmega16 ausprobiert. Immer mit dem gleichen Ergebnis. ](*,)
Schreibe ich das Programm um auf Port D oder Port A funktioniert alles wies soll.
Wo liegt also der Fehler?
Im Simulator von BASCOM läuft alles ganz normal wie es gewollt ist.
Hat jemand schon mal ähnliches erlebt?
Viele Grüße
Michael
ich habe ein Problem beim Einlesen der Pins beim ATmega16. Ich habe ein kleines Testprogramm mit BASCOM geschrieben, bei dem ich den Port C als INPUT declariere und die Pull-up-Widerstände auf allen Pins einschalte. Die Pins sind in der Schaltung offen. Wenn ich nun mit dem Pinc-Befehl die einzelnen Pins auslese und auf einem LCD-Display ausgebe (das ist auf Port B angeschlossen) sind die Bits 0, 1, 6 und 7 auf log.1 und die Bits 2, 3, 4 und 5 auf log.0. Eigentlich sollten alle auf log.1 sein!
Wenn ich nun die Pins in der Schaltung mit 0 verbinde reagieren nur die Bits 0 und 1. Die anderen lassen sich nicht beeindrucken.
Ich habe diese Phänomen mit 4 ATmega16 ausprobiert. Immer mit dem gleichen Ergebnis. ](*,)
Schreibe ich das Programm um auf Port D oder Port A funktioniert alles wies soll.
Wo liegt also der Fehler?
Im Simulator von BASCOM läuft alles ganz normal wie es gewollt ist.
Hat jemand schon mal ähnliches erlebt?
Viele Grüße
Michael