RESET am Arduino kannst Du grob mit dem RESET am PC vergleichen. Wenn du ihn drückst, startest Du ihn (PC/Arduino) neu, löschst aber kein Betriebssystem (Bootloader) oder die Programme (Code) drauf.
RESET am Arduino kannst Du grob mit dem RESET am PC vergleichen. Wenn du ihn drückst, startest Du ihn (PC/Arduino) neu, löschst aber kein Betriebssystem (Bootloader) oder die Programme (Code) drauf.
Das Arduino Board hat im Auslieferungszustand, also wenn du es bekommst, nur einen sogenannten Bootloader drauf. Dieser Bootloader sorgt dafür das du das Board ohne Programmer nur mit der Entwicklungsumgebung (IDE) mit einem Programm beschreiben (flashen) kannst. Dieser Bootloader ist an einem festen Platz im Speicher des Controllers der NUR für Bootloader reserviert ist gespeichert und den kannst du nur löschen indem du mit einem Programmer den ganzen Controller auf auslieferungszustand zurücksetzt (das meint soviel wie du machst den komplett platt so wie der Controller das Atmel-Werk verlassen hat).
Dann gibt es noch einen Programmspeicher wo das aktuelle Programm gespeichert wird.
Hier kann immer nur ein einziges Programm gespeichert werden. Dieses Programm wird ab einer bestimmten Adresse (ich sage einfach mal Adresse 0) in den Speicher geschrieben. Dies erledigt der Bootloader alles für dich. Wenn du ein Programm auf dein Arduino überträgst löscht er das alte und speichert das neue im Flash. Dabei beginnt er immer mit dieser Adresse 0. So wird "gewährleistet" das immer nur ein komplettes Programm im Flash ist.
Der RESET Knopf kannst du mit dem RESET Knopf am PC vergleichen.
Angenommen du hast ein Programm geschrieben was den Controller in einer Endlosschleife festhält (der Grund wieso er das macht ist erstmal egal). Wenn du jetzt willst das der Controller zum Anfang des Programmes zurück springt hast du im Grund zwei Möglichkeiten (wie beim PC wo sich z.B. dein Windows aufgehängt hat). 1. du ziehst den Stecker oder 2. du drückst auf den RESET-Knopf.
Beim PC ist das Stecker ziehen nicht immer so prall deswegen drückst du eher den RESET-Knopf. Und dies sorgt dafür das der Programcounter im Controller resetet wird und alles was dazu gehört und er das Programm wieder ganz von Anfang an abspielt.
Du hast es ja gesehen. Nachdem du den RESET-Knopf gedrückt hast ging die LED aus. Erst als du den Knopf wieder los gelassen hast leuchtete sie wieder.
Wenn du den RESET-Knopf gedrückt hältst kannst du den Mikrocontroller im RESET-Zustand lassen. In diesem Zustand stellt der Controller all seine Tätigkeiten ein und beim verlassen des RESET-Zustandes beginnt er von vorne.
Hoffe das hilft dir weiter![]()
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Lesezeichen