Forum: Mikrocontroller und Digitale Elektronik AVR startet neu/resetet sich bei bestimmter Stelle im Programm


von Meisterlampe (Gast)


Lesenswert?

Servus

Ich habe eine Software aus einer Elektor bezüglich der Funkmodule RFM12 
etc HIERZU KEINE FRAGE ALSO RUHIG WEITERLESEN

Ich wollte, da die Dinger nicht funktionieren wollen, mal schauen wo 
genau es im Programm hakt und habe daher nach jeder anweisung eine Print 
Ausgabe gesetzt um schauen zu können bis wohin es geht und wann der AVR 
von vorne startet. Blöderweise geschieht dies an dieser Stelle im Code:
1
Function Spi16(byval Dout As Word) As Word
2
Print "spi16"
3
Local Nspi As Integer
4
Print "spi161"
5
Local Dspi As Integer
6
Print "spi162"
7
Local Dsdo As Word

Print "spi161" kommt noch an, dann gehts wieder von ganz vorne los, das 
erste Print kommt gleich nach crystal und baud.

Jemand eine Idee? Es handelt sich um einen Mega8.

von Justus S. (jussa)


Lesenswert?

Watchdog?

von Rolf I. (for_ro)


Lesenswert?

Könnte auch sein, dass deine Vorgaben für $SwStack und $FrameSize zu 
klein sind.

Gruß

Rolf

von Meisterlampe (Gast)


Lesenswert?

Watchdog ist an ja

Framesize /swstack sind garnicht mehr drin oO schäm ursprünglich waren 
sie es naja mal sehen ich probiers später nochmal

Danke

von ich (Gast)


Lesenswert?

PRINT mitten in den Deklarationen scheint mir nicht sinnvoll.

von Meisterlampe (Gast)


Lesenswert?

Die sind ja nachträglich eingefügt um zu sehen wo es hakt - ohne Print 
in den Deklarationen sehe ich dennoch die Prints die vorher auftauchen.

Wie dem auch sei, Framesize,swstack und hwstack mal auf 128 gesetzt aber 
es verändert sich nichts, wiederholt sich immernoch ab der stelle. 
Watchdog mal ausmachen?

von mojo (Gast)


Lesenswert?

hi

ich würd sagen watchdog ist schuld wenn er nicht beruhigt wurde (zurück 
gesetzt.

probier mal mit aus machen ;-)

lg

von Meisterlampe (Gast)


Lesenswert?

Yeah! Der Hund! Sowas aber auch, danke für den Hinweis. Wäre ich wohl 
nicht darauf gekommen das der beißen kann.

Was genau meinst du mit "beruhigen" ?

Gruß

von mojo (Gast)


Lesenswert?

glückwunsch

ich meinte damit das reseten.

er wird ja so eingestellt, das er bei einer bestimmten zeit einen reset 
durchführt.
beispiel: wenn irgend wo das programm hängen bleibt und die zeit vergeht 
ohne das die zeit resettet wird, macht er ein reset.

bei dir wurde er nie resettet daher der neustart!?

ein tip(ja ich weiß lesen bäähh):
lies dir mal das datenblatt durch und such hier nach watchdog!! mir hats 
immer geholfen.

bitte um verbesserung wenn das falsch ist bin ein neuling ;-)

gruß

von Meisterlampe (Gast)


Lesenswert?

Hi danke für die kleine Erklärung, Zeit zum lesen (und Lust) habe ich 
genug wenn ich in bestimmten Vorlesungen sitze und der Prof mal wieder 
nichts gebacken bekommt bzw es einfach so langweilig ist... naja sollte 
jeder Student kennen :D

Schönen Abend noch

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.