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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.