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?
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
Hallo,
ich kenne den AVRISP mkII nicht, gibt der sauber Reset wieder frei nach
dem Programmieren (mal messen, ob wirlich H anliegt)?
Gruß aus Berlin
Michael
Hmmm... wie taktest Du denn Deinen Controller? Externer
Keramikresonator, externer Quarz, externes RC-Glied, externes Taktsignal
oder interner Oszillator? Wenn die Fuses nicht dazu passend gesetzt
sind, läuft das gute Stück normalerweise erst gar nicht an.
Lies Dir auch mal diesen Artikel durch:
http://www.mikrocontroller.net/articles/AVR_Checkliste
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
>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
ldir16,0b00001111
4
outDDRC,r16
5
6
ldir16,0b10101010
7
outPORTC,r16
8
9
loop:rjmploop
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.
Das ist beim AVRStudio etwas blöd gelöst. Wenn man ein neues Projekt
öffnet, steht im Programmierfenster immer noch das alte Hex File drin.
Hat mich auch schon einige zeit gekostet, bis ich da drauf gekommen bin.