-
-
Leider ist mein Programm sehr unübersichtlich dargestellt...sorry dafür.
Weiterhin wollte auch nichts aus dem Kontext reißen und nur Fragmente anbieten.
Die Variable Capture wurde in einer vorherigen Version genutzt - da mit Overlays auf das hi-word und die unteren bytes.
in der jetzigen Lösung - gemäß dem Roland Walther - Buch lass ich den Timer durchlaufen, und nutze zur Berechnung die wCapture- und wZaehler-Variablen.
Der Teil haut prima hin - entferne ich nun aber die unbenutzte Capture-Variable auf der festen Adresse, startet mein Mikrocontroller laufend neu.
Er kommt dabei unterschiedlich weit, meißt nur bis in die Hauptschleife, vereinzelt wird sie wohl aber komplett durchlaufen, so dass ich sogar eine Ausgabe bekomme, mit abenteuerlichen (negativen, betragsmäßig falschen) Werten.
Die zweite problematische Variable ist die uti(6
(die mit dem smilie).
Ursprünglich war es ein 100er Array, in dem 100 aufeinanderfolgende Capture-Werte abgelegt wurden.
Die Mittelung der Capturewerte war dann nicht mehr notwendig, so dass ich nur noch 10 Werte aufnehme.
Nun brachte das verkleinern des Arrays wiederum genau den Effekt, dass der Controller stets neu startete.
Erst mit späterer Einführung eines weiteren Arrays (32_werte_mittel_t1_rp(32)), ließ der sich genau um die 32-Word-Werte verkleinern, die das neue Array einnahm.
nun will ich noch so einen Puffer für den zweiten Messwert anlegen, gerate damit aber über den SRAM. Ein weiteres verkleinern des unnötig grossen uti(k) fuktioniert aber auch nicht.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen