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??) ??
Hi! Was für einen Controller benutzt Du denn? Die Atmel AVR behalten jedenfalls ihr Programm auch bei Stromausfall... Johannes
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
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.
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
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
du meinst: rjmp main reti reti reti . . . ? kann es im mom nicht versuchen (COM-Port ist besetzt) werd ich aber machen thx Dario
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.