END/de
(Created page with "= <span class="f_Header">Action</span> = Terminate program execution. <span style="font-family: Arial;"> </span> <span style="font-family: Arial;"> </span> = <sp...") |
(→Remarks) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | = <span class="f_Header">Funktion</span> = | |
− | + | Beendet die Programmausführung. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Line 15: | Line 15: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Anmerkungen</span> = |
− | STOP | + | STOP kann auch zum Beenden eines Programms verwendet werden. |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Line 23: | Line 23: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Wenn ein END Befehl erreicht wird dann werden alle Interrupts disabled und eine Endlosschleife wird erzeugt. | |
− | + | Wenn STOP erreicht wird dann werden die Interrupts nicht disabled. Es wird lediglich eine Endlosschleife erzeugt. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Bei einer Embedded Anwendung möchte man normalerweise die Programmausführung nicht beenden. | |
+ | Es gibt aber Situationen, in denen man die Programmausführung beenden möchte. | ||
+ | Wenn beispielsweise einige Motoren angesteuert werden und eine Fehlersituation auftritt dann möchte man nicht, dass ein Watchdog Reset auftritt weil der Fehler dann ggf. wieder auftritt. In einer derartigen Situation ist es eventuell sinnvoll, einen Fehlercode anzeigen zu lassen und zu warten bis ein Servicetechniker den Fehler behebt. | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Es ist wichtig, zu verstehen, dass ein Programm ohne END Befehl in bestimmten Situationen ein unvorhersehbares Verhalten zeigt. | |
− | Print " | + | Zum Beispiel: |
+ | |||
+ | Print "Hallo" | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Beachten Sie, dass es hier keinen END Befehl gibt. Was wird also passieren? Das Programm wird "Hallo" ausgeben. Da der Compiler aber hinter den eigentlichen Code Library-Code speichert wird der Mikrocontroller Library-Code ausführen. Weil Library-Code meistens aus Assembler-Routinen besteht, die mit RET enden wird das Programm höchstwahrscheinlich abstürzen, resetten oder in eine Endlosschleife laufen. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Siehe auch</span> = |
[[STOP]] | [[STOP]] | ||
Line 51: | Line 55: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Beispiel</span> = |
<br/><source lang="bascomavr"> | <br/><source lang="bascomavr"> | ||
− | Print " | + | Print "Hallo" 'serielle Ausgabe |
− | End ' | + | End 'Programmausführung beenden und alle Interrupts disablen |
</source><br/>{{Languages}} | </source><br/>{{Languages}} | ||
[[Category:BASCOM Language Reference/de]] | [[Category:BASCOM Language Reference/de]] |
Latest revision as of 01:10, 19 February 2013
Contents |
Funktion
Beendet die Programmausführung.
Syntax
END
Anmerkungen
STOP kann auch zum Beenden eines Programms verwendet werden.
Wenn ein END Befehl erreicht wird dann werden alle Interrupts disabled und eine Endlosschleife wird erzeugt.
Wenn STOP erreicht wird dann werden die Interrupts nicht disabled. Es wird lediglich eine Endlosschleife erzeugt.
Bei einer Embedded Anwendung möchte man normalerweise die Programmausführung nicht beenden. Es gibt aber Situationen, in denen man die Programmausführung beenden möchte. Wenn beispielsweise einige Motoren angesteuert werden und eine Fehlersituation auftritt dann möchte man nicht, dass ein Watchdog Reset auftritt weil der Fehler dann ggf. wieder auftritt. In einer derartigen Situation ist es eventuell sinnvoll, einen Fehlercode anzeigen zu lassen und zu warten bis ein Servicetechniker den Fehler behebt.
Es ist wichtig, zu verstehen, dass ein Programm ohne END Befehl in bestimmten Situationen ein unvorhersehbares Verhalten zeigt.
Zum Beispiel:
Print "Hallo"
Beachten Sie, dass es hier keinen END Befehl gibt. Was wird also passieren? Das Programm wird "Hallo" ausgeben. Da der Compiler aber hinter den eigentlichen Code Library-Code speichert wird der Mikrocontroller Library-Code ausführen. Weil Library-Code meistens aus Assembler-Routinen besteht, die mit RET enden wird das Programm höchstwahrscheinlich abstürzen, resetten oder in eine Endlosschleife laufen.
Siehe auch
Beispiel
Print "Hallo" 'serielle Ausgabe End 'Programmausführung beenden und alle Interrupts disablen
Languages | English • Deutsch |
---|