atmega644 frage

Gast #2042322
Lesenswert?

hi!
Anfängerfrage:
1
ldi temp1, 0xFF    ; Port D = Ausgang
2
out PORTD, temp1
3

4
out DDRD, temp1

Ich will einfach nur nen Port meines Atmega644 auf 5 V bringen. Mit dem 
Code werden doch die interenen Pullup Widerstände aktiviert und ich 
müsste 5V messen können oder? Aber ich bekomme nur 0,8V ? Muss ich nen 
externen Pullup ranbauen?

Gruß
Gast #2042344
Lesenswert?

1
.include "m644def.inc"
2
.org 0x0
3
rjmp start
4

5
.cseg
6
.equ adresse = RAMEND
7
.def temp1 = r16
8

9
start:
10
ldi r17, high(adresse)
11
out SPH, r17
12

13
ldi r17, low(adresse)
14
out SPL, r17
15

16

17
ldi temp1, 0xFF    ; Port D = Ausgang
18
out PORTD, temp1
19

20
out DDRD, temp1
21

22

23
loop:
24
rjmp loop

Das ist der gesamte Code und der Ausgang ist unbeschaltet... Bin 
ratlos..
Gast #2042350
Lesenswert?

Hi

>Code werden doch die interenen Pullup Widerstände aktiviert

Nein.

>und ich müsste 5V messen können oder?

Das schon. Falls nicht im Programm etwas folgt, das die Einstellungen 
rückgängig macht

Sieh dir mal die Bedeutung der einzelnen Register eines Ports an.

MfG Spess
Gast #2042376
Lesenswert?

Hi

>Das ist der gesamte Code und der Ausgang ist unbeschaltet... Bin
>ratlos..

Entweder falsch gemessen oder falsches Programm geflasht.

>.equ adresse = RAMEND

>start:
>ldi r17, high(adresse)
>out SPH, r17

>ldi r17, low(adresse)
>out SPL, r17

Einfacher:

>ldi r17, high(RAMEND)
>out SPH, r17

>ldi r17, low(RAMEND)
>out SPL, r17

Und entscheide dich, ob du dieses temp-Gedödel oder 
Registerbezeichnungen benutzt. Das Vermischen ist tödlich.

MfG Spess
Gast #2045885
Lesenswert?

ich habe nun einmal eine LED an den Ausgang rangehängt und was passiert: 
die LED blinkt in schnellem Takt. Daher die 0,8V. Warum frage ich mich? 
Kann doch bei dem Code gar nicht sein...

Erst dachte ich, da wäre irgendein PWM Modus aktiv. Aber ich hab im Code 
s.o. ja überhaupt nichts derartiges eingestellt und auch an Ausgängen 
die nichts mit PWM zu tun haben das gleiche Phänomen.

Zweiter Gedanke Watchdog. Aber auch der ist deaktiviert.

Kann es sein, dass mein µC irgendwie Schrott ist? Ich hab einen Ausgang 
mit 5 mA belastet. War das vllt zuviel?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren