HW - Stack

Gast #136476
Programmiere den ATTiny15 mit 3 level deep Hardware Stack.
Gehe nur bis in die zweite Ebene und trotzdem verzweigt das Programm
irgendwann irgendwohin ohne jeglichen Sprungbefehl?
Rufe nur mehrere RCALL Befehle hintereinander auf!

Programmausschnitt

IN_OUT:

CLI

CLR zaehle_1

CLR zaehle_2

RCALL IN_OUT_input_shift

RCALL IN_OUT_output_shift

RCALL analog

MOV universal_1,universal_5
MOV universal_2,universal_6

RET
Gast #136477
wie sieht es mit Interrupts aus?
Ich glaube, ohne Quelltext wird da wenig zu analysieren sein.
Wie sieht die aufrufende Funktion aus (Endlosschleife??)?
Grüße
Quark
Gast #136480
Komisch... Ich mach nun viel mit dem Tiny15, aber RCALL habe ich noch
nicht verwenden müssen. Das lohnt sich doch erst, wenn ein UP von
mehreren verschiedenen Programmstellen aus aufgerufen werden muss. Der
HW-Stack wird bei mir ausschließlich von den Interrupts genutzt. Meine
Programme laufen meist im Timer-Int.

...
Gast #136481
Hannes:Komisch... Ich mach nun viel mit dem Tiny15, aber RCALL habe ich
noch
nicht verwenden müssen.


Wenn du aufwendigere Programme machst dann wird dir das schon mal
unterkommen! Schreibe grade ein Programm für einen Busankoppler und
muss alles Modular aufbauen dh.: Unterprogramme.
Sonst reicht der speicher nicht aus
Stehe derzeit bei 288 Words
Gast #136482
Nagut, lassen wir gelten... ;-)

Meine Tiny15-Projekte sind weniger groß, aber oft zeitkritisch.
Der Tiny15-Fahrtregler (Modellbau, Fahrtregler für H-Brücke mit
Bremslicht, Rückfahrlicht und Parameterprogrammierung per Prog-Taste)
hat 366 Words, hat aber keine RCALLs, da mir Aufruf und Rücksprung zu
lange dauert und keine Programmteile von mehreren Stellen aus
aufgerufen werden müssen. Die Impulsbreitenmessung und Software-PWM
erfordert schon halbwegs zeitbewusstes Programmieren.
Auch ein halbwegs linearer Programmaufbau mit Überspringen der gerade
nicht benutzten Routinen kann übersichtlich und speicherplatzsparend
sein.

Gruß... - ...HanneS...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.