Bin grad im Tutorial bei den LCD`s und frage mich warum das angehängte Programm ohne einen Stack funktioniert. Zumindest sehe ich nirgends das ein Stack initialisiert wurde, er zeigt mir aber die richtige Zahl auf dem Display an. Theoretisch müsste er doch spätestens beim zweiten durchlauf nurnoch Müll schreiben b.z.w. schon beim ersten ret Mist bauen.
Michael Dierken schrieb: > Theoretisch müsste er doch spätestens beim zweiten durchlauf nurnoch > Müll schreiben b.z.w. schon beim ersten ret Mist bauen. Ja tut er auch. Hab grad mal dein Programm laufen lassen. Nur wenn der Stackpointer initialisiert wird funktioniert es.
Aber wie kommt es das er mir alles richtig auf dem Display angezeigt wird .. ist es möglich das der Stack nach einem Reset weiterhin initialisiert ist? Edit: Läuft auch nach kurzem abschalten der Spannung (lasse das jetzt mal etwas länger abgeschaltet) Edit2: Habe nun 10Minuten aus gehabt .. geht noch immer ... AVR gelöscht, neu beschrieben .. geht immernoch...
Michael Dierken schrieb: > Aber wie kommt es das er mir alles richtig auf dem Display angezeigt > wird .. ist es möglich das der Stack nach einem Reset weiterhin > initialisiert ist? Ich habe dir ne Fehlinformation gegeben. Im Datenblatt steht, dass der Stackpointer beim Reset mit RAMEND initialisieret wird. Den AVR-Simulator scheint das aber wenig zu kümmernn. Damit habe ich den Code getestet unter Zuhilfenahme von Hapsim. Gruß Skriptkiddy
Wenn ich dich richtig verstehe wird der Stack automatisch initialisiert .... Sprich ich brauch den nie Initilisieren???
Michael Dierken schrieb: > Sprich ich brauch den nie Initilisieren??? Beim tiny2313 trifft das zu. Beim Atmega8 nicht. Da wird der Stackpointer mit 0x0000 initalisiert. Im Datenblatt des jeweiligen Controllers stehen die Resetwerte drinnen. Gruß Skriptkiddy
Auch gut ... alles total lustig hier Vielen Dank für deine Hilfe .. währe ich nie drauf gekommen.
Michael Dierken schrieb: > währe ich nie drauf gekommen. Ein Blick ins Preliminary ist manchmal sehr aufschlussreich. ;) Gruß Skriptkiddy
Michael Dierken schrieb: > Auch gut ... alles total lustig hier > > > Vielen Dank für deine Hilfe .. währe ich nie drauf gekommen. Was glaubst du, warum fast jede dritte Frage hier im Forum mit einem "Schau ins Datenblatt" beantwortet wird.
Sagen wir so .. ich habe das so "gerlernt" das der Stack immer wenn call oder rcall verwendet werden soll initialisiert werden MUSS. Ich hatte jetzt erstmal nach fehlern im Programm, initialisierung des Stack und sonstiges geguckt ... aber ins Datenblatt ... da währe massig Zeit vergangen .... werde ich mir merken einmal mehr ins Datenblatt zu schauen.
Michael Dierken schrieb: > aber ins Datenblatt ... da währe massig > Zeit vergangen Nö. Ein Datenblatt ist kein Roman, den man komplett lesen muß. Und es gibt eine Suchfunktion, ruckzuck ist man beim "Stack Pointer" und dessen "Initial Value". Dauert schätzungsweise 5s zum Öffnen des PDF und nochmal 5s zum Suchen nach "Stack Pointer". Peter
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.