Forum: Mikrocontroller und Digitale Elektronik Programm Absturz?


von Thomas (Gast)


Lesenswert?

Hallo,

ich weis nicht ob hier schon wal wer so ein problem hatte, dass nach
ein paar Minuten (ca.5- 60) das Programm komplett abstürzt!

Ich benutze den ATmega161 und das Programm läuft zuerst einwandfrei,
auch die ganzen Programmroutinen sind schon mehrmals durchgelaufen.

Die Versorgungsspannung ist auch ok.

Gesetzte Fuse Bits
-Serial program downloading enabled
-Brown-out detection level at VCC=4V
-CKSEL=011 Crystal Oszillator - fast rising power



Ich würde mir freuen, wenn mir da wer weiterhelfen könnte

Gruß.

von Christof Krüger (Gast)


Lesenswert?

Womit programmierst du?

Generell gibt es mehrere Möglichkeiten:

 - Speicherfragmentierung durch malloc/free-Gelage

 - Stack überschreibt den Heap, falls durch Zufall viele Funktionen
   ineinandergeschachtelt aufgerufen werden und vielleicht noch ein
   Interrupt dazukommt

 - Evtl. doch Störeinflüsse in der Versorgungsspannung. Prüfst du
   wodurch der Reset ausgelöst wird? Vielleicht ja durch den Brownout?

 - Wenn das Programm nicht resettet, sondern hängenbleibt (du hast
   "komplett abstürzen" nicht näher definiert), dann kann es einfach
   ein Bug in deiner Software sein, da kann man erstmal nichts
   Genaueres sagen.

uvm.

von Thomas (Gast)


Lesenswert?

Hi,

Ich programmiere in Bascom.

Zu Punkt 1 kann ich erlichgesagt nichts anfangen? kann man das irgendwo
nachlesen oder vieleicht einen Link?
Den Stack könnte ich vieleicht noch etwas herabsetzten, die Stehen
beide auf 240.

Störeiflüsse von außen sind nicht vorhanden.

und ja, das Programm bleibt hängen.

genauer noch, das Programm bleibt an einer ganz anderen Stelle im
Programm hängen. an diese Stelle komme ich egentlich nur durch einen
längeren Tastendruck (kein Interrupt und ist ein Menü zum einstellen
verschiedener Werte )

nach dem es diesen Sprung machte bleibt es in den Menü hängen und
reagiert nicht mehr.

Gruß

von Christof Krüger (Gast)


Lesenswert?

Punkt 1 wäre nur bei C-Programmierung relevant, mit Bascom kann ich dir
leider überhaupt nicht helfen.

Wenn es irgendwo hängenbleibt, wo du es nicht erwartest, dann sieht das
danach aus, als würdest du z.B. einen Sonderfall nicht beachten o.ä.

Dazu müsste man wohl aber das Programm sehen.

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.