Programmcounter-Sprünge ???

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 28 12 2025  18:04:03      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Oszilloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
Programmcounter-Sprünge ???

    







BID = 364262

Peingebrecks

Neu hier



Beiträge: 47
 

  


Hi, hab folgendes Problem:

Ich möchte gern Programmcountersprünge machen jedoch funktioniert es nicht aber ich weis auch nicht warum?

Habt ihr eine Idee woran es liegen könnte oder eine andere Variante die genauso funktionieren würde?

MfG



BID = 364312

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

 

  

Das geht natürlich so auch nicht.
Wofür hat der Hersteller sich nur soviel Mühe mit dem Simulator und der Beschreibung gemacht, wenn das nicht benutzt wird ?

Die erste grobe Macke, bei der Wunsch und Wirklichkeit nicht übereinstimmt, sehe ich hier:
movlw D'8' ; lade 0 ins w-register


Der nächste Klops hier:
incf Progzähler,f
movf ProgZähler,W

1.) Den ersten Befehl kannst du dir eigentlich schenken, denn du überschreibst das Ergebnis sofort. Allenfalls wird dadurch die Z-Flag gesetzt.
2.) Verträgt der Assembler, außer in Literalen, überhaupt Umlaute ? Sollte mich wundern.

Jedenfalls enthält die Variable ProgZähler nachher irgendeinen Wert, der zufällig in W stand.
Beim erstenmal, ist das wahrscheinlich noch die 8 aus der seltsamen Initialisierung, aber auch die führt vermutlich zu einem Programmabsturz, da der daraus resultierende Sprung addwf PCL,8 zu einem Sprung hinter die Jumptable führt.





_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !

BID = 364346

Peingebrecks

Neu hier



Beiträge: 47

Sry, da hab ich was übersehen. Ich habe den Wert auf 0 geändert, so wie er sein soll und zusätzlich habe ich noch die Variablen gekürzt so dass ProgZähler = PZ, PrellStart = PS.

Was ich doch nicht verstehe ist warum kann ich mir den befehl

incf Progzähler,f
movf ProgZähler,W

der Inkrementierbefehl ist ja notwendig um die sprungzeile in meinen Falle zubestimmen und der Kopierbefehl ist notwendig um anschließend eine arithmetische Funktion auszuführen damit ich im File-Register die PCL-Adresse und somit den Programmcounter beeinflussen kann.


BID = 364352

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
incf Progzähler,f
movf ProgZähler,W

der Inkrementierbefehl ist ja notwendig um die sprungzeile in meinen Falle zubestimmen und der Kopierbefehl ist notwendig ...
Ja, du hast wohl recht, und ich habe mich geirrt. Ich habe seit einer Weile keine PICs mehr programmiert, und der Microchip Assembler ist einer der wenigen, bei dem die Destination rechts vom Komma steht.

Trotzdem hast du nach wie vor den Fehler, daß du den ersten Goto Befehl nicht erreichst (dazu brauchtest du eine 0 in W, müsstest also mit FF initialisieren), und den Bereich der Variablen nicht auf die sinnvollen Werte 0..7 beschränkst, was vermutlich zum Absturz führt.



_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !

BID = 364356

Peingebrecks

Neu hier



Beiträge: 47

Jap, ich hab meinen Fehler gefunden warum das ganze net funzt.

Ich Trottel habe ganz am Anfang meine Eingabe & Ausgabe pins festgelegt, wobei man ja die Speicher-Bänke wechseln muss. Soweit so gut das hatte ich getan jedoch glatt vergesen wenn ich auf Bank1 bin und festdeklarierte Adressen aus Bank0 im Hauptprogramm verwende kann das nix werden!

Das entprellen hab ich auch etwas verändert, sowie den Rücksprung aus den einzelenen Programmen.

Siehe da jetzt funzt es wie es soll :D.

Trotzdem danke für deine Hilfe.


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 17 Beiträge im Durchschnitt pro Tag       heute wurden bisher 7 Beiträge verfasst
© x sparkkelsputz        Besucher : 187992514   Heute : 11744    Gestern : 11123    Online : 281        28.12.2025    18:04
12 Besucher in den letzten 60 Sekunden        alle 5.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0216610431671