Anfänger: PB0 auf High

Gast #573385
Lesenswert?
• ▲
▼
Hallo,

ich möchte gern meine letzte Anfängerfrage aus Thread "AVRISP mkII Pin 
1" neu formulieren:

Ich habe das folgende Program übertragen und versuche nun an PB0 High zu 
messen. Leider messe ich 0V. Der Port scheint auch garnicht als Ausgang 
geschaltet zu sein, weil eine LED von 5V -> PB0 nicht leuchtet (an 
echter Masse schon). Ich galaube das Programm wird garnicht ausgeführt.

Was habe ich übersehen? Bestimmte Fuse-Bits?
1
.include "m8.inc"
2

3
ldi r16, 0x00000001
4
out DDRB, r16
5
out PORTB, r16
6

7
loop:    rjmp loop

Ciao
Chris
Gast #573392
Lesenswert?
• ▲
▼
Hallo,

womit arbeitest Du?
Bei mir heißt schon das include vom AVR-Studio m8def.inc

Außerdem, wenn Di wie schon im vorgen Thread bemängelt, wirklich 
0x00000001 geschrieben hast, wäre ich mir nicht 100% sicher, ob da 
wirklich die 01 übergeben werden, 0x00000001 ist immerhin ein 
32Bit-Wert, den Du da in ein 8Bit-Register lädst.

Entweder 0b00000001 für binäre Darstellung oder 0x01 oder $01 für hex 
Darstellung.

Gruß aus Berlin
Michael

Gast #573400
Lesenswert?
• ▲
▼
Hallo,
schonmal Danke für die Antwort.
Sorry, habe einfach alle Fehler aus dem letzten Thread kopiert :-).
Hier das Programm wie es wirklich aussieht:
1
.include "m8def.inc" 
2

3
ldi r16, 0b00000001
4
out DDRB, r16
5
out PORTB, r16
6

7
loop:    rjmp loop
Gast #573450
Lesenswert?
• ▲
▼
Es ist nicht zu glauben!
Ich hatte das falsche HEX File geflashed!
Sorry für die Mühe die ich euch bereitet habe. :-(


Aber trotzdem schön, dass es bloss so ein triviales Problem war...
:-)

Ciao
Chris
Gast #573451
Lesenswert?
• ▲
▼
>Der mkII ließt:
>"Int. RC Osc. 1MHz, Startup: 6 CK + 64ms".

Bestens :-)

>Aber wenn der Atmega8 geflashed werden kann läuft er doch schon, oder?

Das stimmt allerdings.

Probier sicherheitshalber mal einen anderen Port; vielleicht ist der 
Ausgangstreiber von PB0 aus irgendeinem Grund defekt (ein Kurzschluss 
läßt ihn über den Jordan gehen).

Lade mal dieses Programm:
1
.include "m8def.inc" 
2

3
ldi r16, 0b00001111
4
out DDRC, r16
5

6
ldi r16, 0b10101010
7
out PORTC, r16
8

9
loop:    rjmp loop
Damit hast Du dann an PORTC alle Kombinationen (Eingang/Ausgang, 
Pullupwiderstand enabled/disabled), und wenn Du mit Deiner LED die Pins 
abklapperst, sollte sie irgendwo leuchten.

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