Forum: Mikrocontroller und Digitale Elektronik HW - Stack


von Mike (Gast)


Lesenswert?

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

von Quark (Gast)


Lesenswert?

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

von MOMO (Gast)


Lesenswert?

Quellcode ist zu groß.
Eine Ebene Tiefer komme ich ja nur durch RCALL oder?

von MOMO (Gast)


Lesenswert?

und interrupts natürlich

von ...HanneS... (Gast)


Lesenswert?

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.

...

von MOMO (Gast)


Lesenswert?

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

von ...HanneS... (Gast)


Lesenswert?

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...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.