Forum: Mikrocontroller und Digitale Elektronik Programm-Beständigkeit?


von Dario (Gast)


Lesenswert?

Ich hab mein prog in den µC geladen, und eigentlich wurde mir gesagt, 
dass ich den Strom ab und wieder anschalten kann, ohne dass sich was am 
Programmablauf ändert...

Aber jedesmal wenn ich die Schaltung vom Strom trenne muss ich das 
Programm neu auf den µC schreiben... Woran liegt das?

und wie kann ich das verhindern (vielleicht durch eine Batterie??) ??

von Johannes Raschke (Gast)


Lesenswert?

Hi!

Was für einen Controller benutzt Du denn? Die Atmel AVR behalten 
jedenfalls ihr Programm auch bei Stromausfall...

Johannes

von Dario (Gast)


Lesenswert?

Ich benutze einen AT90S44333, und wenn ich den Strom abschalte, dann 
(wenn da noch ein programm läuft) läufts nicht mehr so wie es sollte. Wo 
fäng der Controller den wieder an, nach einem "Stromausfall"?

dario

von thkaiser (Gast)


Lesenswert?

Eigentlich dort, wo er auch nach einem Reset anfängt, bei Adresse 0.
Was genau funktioniert denn nicht mehr so, wie vorher? Kann es denn 
nicht an irgendwelchen Eingängen liegen? Poste evtl. mal Deinen Code, 
mit einer Beschreibung, was er machen sollte, und was er tatsächlich 
macht.

von Dario (Gast)


Angehängte Dateien:

Lesenswert?

Der µC erhält vom PC über die RS232 einen Bitfolge, die er an einem 
Schieberegister das an PortB hängt ausgeben soll. Ich habe die 
Datenübertragung in zwei Schritten gelöst, weil ich da noch weitere SR's 
anhängen will. Es werden also 2 Bytes vom PC geschickt, das erste um zu 
sagen welches SR (später) und das zweite legt die Bitfolge fest.

Das läuft alles wunderbar, aber sobald der Strom weg ist, kann ich 
machen was ich will, er ändert nichts mehr am SR... (hab am SR ein paar 
LED's)

simon

von Johannes Raschke (Gast)


Lesenswert?

Hi, Simon!

habe das Programm jetzt nicht komplett nachvollzogen, aber vielleicht 
solltest Du es mal damit probieren, daß Du die Interruptvektoren am 
Programmstart festlegst. Vielleicht wird ja auf mysteriöse Weise beim 
Reset irgend ein Interrupt erzeugt...

Johannes

von Dario (Gast)


Lesenswert?

du meinst:
rjmp main
reti
reti
reti
.
.
.

?
kann es im mom nicht versuchen (COM-Port ist besetzt) werd ich aber 
machen

thx
Dario

von Markus (Gast)


Lesenswert?

Das Problem kann auch daher kommen, das nach dem Einschalten das 
Programm noch im Speicher ist, aber der Controller beim Einschalten 
nicht richtig startet. Nach dem Programmieren wird ein sauberer Reset 
ausgelöst, und der Controller das Programm starten kann. Es kann also 
auch an der Schaltung (Spannungsversorgung, Reset) liegen.

Gruß
Markus

von Johannes Raschke (Gast)


Lesenswert?

Hey, Dario,

Jup, das meinte ich.

Kannst ja auch mal das testen, was Markus sagt. Controller einschalten 
und dann mit der Reset - Leitung klappern... Vielleicht rennt er dann 
los...

Johannes

von Johannes (Gast)


Lesenswert?

@Dario

Und, hat's was gebracht?

Johannes

von Dario (Gast)


Lesenswert?

Oh, dachte nicht dass noch jemand diesen Thread verfolgt...

danke

Ja, hab das probiert (mit dem "klappern") und siehe da... es lief.
Es scheint also irgendwo einen Wackelkontakt gegeben haben, hab den Teil 
der Schaltung noch mal aufgebaut und von da an läuft es..

nochmal thx @all

 dario

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.