Hi,
ich dachte eigentlich, dass ich mittlerweile schon durchblicke in Sachen
Mikrocontrollerprogrammierung mit AVR, aber was hier passiert, will mir
beim Besten Willen nicht in den Kopf. Ich habe das Problem mittlerweile
so stark vereinfacht, dass da eigentlich gar nichts mehr falsch sein
kann.
Und zwar hantiere ich hier mit einem ATtiny2313 sowie dem STK500.
Eingesteckt ist der Controller in Sockel SCKT3300D3 und wird mittels ISP
programmiert. Eine Verifizierung nach dem Programmieren bestätigt auch,
dass der Inhalt im Flash richtig ist.
Es geht gerade um folgendes "Problem":
1 | .include "tn2313def.inc"
|
2 |
|
3 | ldi r16, 0x01
|
4 | out DDRB, r16
|
5 | out PORTB, r16
|
6 | out DDRD, r16
|
7 | out PORTD, r16
|
8 |
|
9 | main: rjmp main
|
Nun würde ich erwarten, dass sich bis auf PB0 sowie PD0 alle anderen
Pins auf 0 Volt befinden. PB0 sowie PD0 auf Vcc (5V). Wenn ich jetzt die
Spannungen an den Ports messe, dann stelle ich zwar fest, dass PB0 sowie
PD0 sich jeweils auf 5V "befinden", allerdings sind die anderen Pins
nicht 0 V, so wie erwartet.
Ganz im Gegenteil. PB1 - PB4 befinden sich bei 0,9 V, wobei PB5, PB6 und
PB7 z.B. sogar ganze 5V aufweisen.
PD1 - PD7 liegen bei etwa 1 Volt. Es ist keinerlei Peripherie
angeschlossen. Die Spannungen messe ich jeweils an den entsprechenden
Anschlüssen des STK500 gegenüber GND.
Ich habe es mittlerweile sogar mit zwei verschiedenen ATtiny2313's
probiert, jeweils mit dem selben Fehlverhalten.
Kann mir das jemand erklären? Vielen Dank!