www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anfänger: PB0 auf High


Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?
.include "m8.inc"

ldi r16, 0x00000001
out DDRB, r16
out PORTB, r16

loop:    rjmp loop

Ciao
Chris

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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


Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
.include "m8def.inc" 

ldi r16, 0b00000001
out DDRB, r16
out PORTB, r16

loop:    rjmp loop

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ihc arbeite mit AVR Studio und AVRISP mkII.

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, Reset ist danach wieder High.

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Der mkII ließt:
"Int. RC Osc. 1MHz, Startup: 6 CK + 64ms".

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

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
.include "m8def.inc" 

ldi r16, 0b00001111
out DDRC, r16

ldi r16, 0b10101010
out PORTC, r16

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.

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich hatte das falsche HEX File geflashed!

lach ... jo, sowas soll in den besten Familien vorkommen ;-)

Dann viel Spaß noch beim proggen.

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.