PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wieso geht der Port C beim ATmega16 nicht richtig?



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

markus1133
14.11.2004, 21:55
Hallo

Du musst die JTAG fuse bits verändern (siehe Datenblatt bzw. Forum)

mfg, Markus

Frank
14.11.2004, 22:57
So ist es! Schau mal in diesen Beitrag, da hab ich es ganz unten mit einem Bild erklärt
https://www.roboternetz.de/phpBB2/viewtopic.php?p=40136#40136

schmic20
15.11.2004, 15:09
Ich habe das Datenblatt zwar mal von 90S8515 durchgelesen, aber das vom ATmega nur überflogen. War wohl nicht so gut.
Dank eurer Antworten geht es nun weiter.

Viele Grüße
Michael