-
-
Erfahrener Benutzer
Roboter Experte
Also PicNick hat recht. Das Befehl "end" hat keinen direkten Einfluss auf dein Programm, sie dient dem Compiler nur als Information, dass der Sourcecode beendet ist und er alles nach diesem Schlüsselwort geflissen ignorieren soll. Und ja, nach jedem Programm kommt ein "end", aber in einen PIC kannst du nur ein Programm hineinbrennen, d.h. hast du nur ein "end" in einer Assembler-Datei.
Dein Problem, dass der PIC in einer "Unendlichschleife" gerät, in welchem das LED gleichmäßig blinkt kommt daher, dass der PIC sich immer wieder resetet. Man muss einige Dinge bei der Erstellung eines Programmes beachten udn eine ist es, IMMER eine Unendlichschleife zu haben, die verhindert, dass die Hauptroute nicht einfach bis zum Ende des Speicherplatzes durchläuft und dann wieder von vorne beginnt.
In deinem Fall ist es, dass du statt der Zeile "goto ende" den Schleifen-forschlag von PicNick Einfügst, die dann nicht mehr verlassen wird. Wenn dann deine Verzögerungsfunktion langsam/groß genug ist, dass das Blinken mit dem Auge zu erkennen ist, wirst du sehen, dass der PIC genau das macht, was du von ihm willst
.
Wenn du einmal sehen willst, was passiert, wenn du keine Unendlich-Schleife in einem Program hast, dann stell mal den Simulator ein und lass den Zeiger über die letzte Befehlszeile laufen und schaue anschließend, wo er wieder anfängt, also bei "org 0x00" (bzw. einen Befehl darunter
).
MfG
Mobius
€dit: Ich schreib dir mal ein Programmgerüst morgen (technisch gesehen heute) aber jetzt grad bin ich zu müde dazu.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen