PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmega



Feratu
21.03.2008, 16:44
Hi
Ich würde gerne wissen ob es ein Befehlt in Bascom giebt der den uC einfach neustartet.
Hintergrund ist der das ich ein Programm geschrieben hab das 99% des Speichers belegt und ich kein platz mehr hab großartig Bugs zu beseitigen also wäre es am einfachsten den Chip neu zu starten.

Gibt es sowas ??


mfg

Jon
21.03.2008, 17:45
Mit goto 0 geht der µC wieder ganz an den Anfang des Programms.

jon

uwegw
21.03.2008, 18:12
Du willst also allen Ernstes ein fehlerhaftes Programm laufen lassen, und dann planmäßig neustarten, wenn es sich weghängt? Das würde ich mir an deiner Stelle noch mal gründlich überlegen...

Um einen sicheren Reset nach einem (auch unplanmäßigen) Hänger zu machen, ist der Watchdog der Richtige...

Und wie viel hast du schon an der Programmgröße optimiert? Ist da wirklich nichts mehr zu machen? Gibts nen pinkompaktibelen AVR mit mher Speicher?

Feratu
24.03.2008, 10:46
Hi ^^
Neija das Programm macht im grunde nix anderes als ein LCD anzusteuern und das größte dabei sind numal die strings welche ich schlecht löschen kann.

Ich will das ganze sowieso nochmal neu schreiben weil ich ein gravierenden fehler gemacht hatte aber momentan läuft das Programm genauso wie ich es will nur mit dem neustart hapert es halt. Ich kann mir aber beim besten willen nicht erklären warum ein paar der unterprogramme einfach spinnen.
Ich setzte zwar alle variablen per for nr = 1 to 14 blabla wieder zurück aber es klappt nicht ???
Deswegen würd ich den chip einfach gern neustarten.

Einen anderen uC zu benutzen hab ich mir auch schon überlegt aber den hab ich nunmal grad da und mit einem Mega 16 bzw 32 hab ich noch nie was gemacht. Klar sind im grunde gleich aber erstma das Vorhandene beherschen dann an neues heranwagen ^^.

Im anderen Post (jap hoppla) wurde das geantwortet
"Goto &H0X0000 "
soll den chip zurücksetzen.
Jetzt meine Frage dazu:
Setzt der auch alle Varibablen zurück oder geht der einfach an den anfang des programms?
weil mit: dim bla as byte
werden variablen nicht auf 0 zurückgesetzt.
leider,....

danke für die antworten erstmal ;P


mfg

Jon
24.03.2008, 11:03
Mit goto 0, was das selbe wie Goto &H0X0000 sein sollte, setzt du auch alle Variablen zurück.

jon

Feratu
24.03.2008, 11:15
Ach is des toll das klappt sogar ^^
Danke für die antworten hat mich wesentlich weiter gebracht ^^