- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 4 von 4

Thema: Stack beim ATtiny15

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    24.03.2007
    Beiträge
    10

    Stack beim ATtiny15

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Ihr da,

    ich arbeite mich gerade in die µCs von ATMEL (wie spricht man das überhaupt?) ein. Bis jetzt habe ich nur par kleinere Tests mit dem ATTiny2313 gemacht.

    Heute nun wollte ich einen ATtiny15 programmieren. Irgendwie verstehe ich nicht, wie ich bei dem Typ den Stack initialisiere.
    Das er einen hat, steht im Datenblatt. Wie er initialisiert wird, das finde ich aber nirgends.

    Ein RET springt somit wieder zum Programmanfang und kehrt nicht zum RCall zurück. (Logisch eigentlich) Da ich der englischen Sprache eher wenig mächtig bin, stehe ich ganz schön auf dem Schlauch.

    Könnte mich bitte mal jemand aufklären?

    Danke!!

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,

    der Tiny15L hat ja kein SRAM und deshalb auch keinen Stack wie man das von den anderen AVR her kennt. Es gibt nur 3 Zeiger, die die letzten 3 Sprünge aus RCall oder eines IRQ merkt. Heißt deshalb auch Hardwarestack, weil man sonst damit nix anfgangen kann.
    Zum Programmanfang sollte nach dem RET trotzdem nicht gesprungen werden, falls es nicht mehr als 3 RCalls verschachtelt waren.

    Steht auf S.9 im DB

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    37
    Beiträge
    4.255
    Der tiny15 hat kein RAM, und daher auch kenen herkömmlichen Stack im RAM mit Stackpointer etc, wie bei AVRS mit RAM. Er hat stattdessen einen "Hardware Stack", der allerdings nur drei Rücksprungadressen aufnehmen kann. Siehe Datenblatt Seite 9. Von einer Initalisierung steht im ganzen Datenblatt nichts. Müsste eigentlich automatisch gehen. Bei den AVRs mit RAM muss man ja auch eigentlich nur manuell initalisieren, damit man den Beginn des Stacks selbst festlegen kann.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    24.03.2007
    Beiträge
    10
    Danke für die Antworten. Unter "select Platform and Device" war noch der ATTiny2313 eingestellt. Jetzt funktioniert alles.

    Ciao SiDe

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress