Umstieg von Pic auf ATmega -> HELP!

Gast #73197
Hallo Leute!

Also beschäftige mich jetzt schon längere zeit mit PICs und will jetzt
auch mal ein wenig mit AVRs arbeiten!
Als Programmiergerät verwende ich den SmartProg von Elnec.
Mein erstes kleines Programm schaut genau so aus:

include "m16def.inc"

Init:
    ldi r16, 0xFF    ;Port B durch Ausgabe von 0xFF ins
    out DDRB, r16       ;Richtungsregister DDRB als Ausgang
konfigurieren

    ldi r16, 0xFF
    out PORTB, r16      ;PORTB auf 0xFF setzen -> alle LEDs aus

Main:
  sbi  PORTB,0
  cbi  PORTB,0
  rjmp  Main

Aber es passiert genau garnichts! Am Oszilloskop müsste der PORTB,0 Pin
ja ein Rechteckssignal ausgeben oder? Aber er ist nur auf Low! Der 2Mhz
Quarz den ich am Chip betreibe schwingt aber schön brav, sieht man im
Oszzi. Angehängt habe ich den Screenshot der Fuse bits, da ich mir mit
denen nicht so ganz sicher bin ob die so stimmen...

Vielleicht könnt ihr mir da mal schnell weiter helfen.

Danke

MfG Martin W
Angehängte Dateien:
Gast
Ok es geht jetzt!

Lag am Quarz! Keine Ahnung wieso aber er hat die 2 Mhz nicht genommen,
mit einem 5 Mhz Quarz geht es jetzt!
Wann sollte man eigentlich slow rising und fast rising power bei den
cksel fuses einstellen?

Danke

MfG Martin W
Gast
Der stackpointer müsste egal sein, kommen ja keine calls und ints vor.
Mich wundert eher dass obiger source fehlerfrei compiliert wird, vorm
include fehlt ein Punkt. Du solltest auch die richtige .def Datei
laden, die Portdefinitionen sind zwar gleich, aber vielleicht
unterscheiden sich andere Speicherstellen.
Ist der obige Code alles oder nimmst du noch andere Initialisierungen
vor?

grüsse leo9
Gast
sorry, aber ich kann auch nicht alle avrs auswendig, für den mega161
würde ich die m161def.inc verwenden. Die exakten Unterschiede findest
du im Datenblatt, möglicherweise unterscheiden sie sich aber durch die
Speichergröße und dann wirds zum Stack-Initialisieren wieder wichtig
die richtige zu verwenden.

grüsse leo9

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.