Neueste Beiträge

#11
P
Mikrocontroller / Aw: Hardware-Debugging läuft n...
Letzter Beitrag von pic18 - 30.09.2023, 22:47:04 CEST
sorry, ich hab es noch einmal durchgeschaut, ist schon zu lange her, dass ich in Assembler prog. habe. BNN in Zeile 6 ist natürlich richtig
BC wäre auch richtig
#12
P
Mikrocontroller / Aw: Hardware-Debugging läuft n...
Letzter Beitrag von pic18 - 30.09.2023, 19:05:46 CEST
ich habe mal kurz die Subtration angeschaut. BNN dürfte hier falsch sein. Hast Du auch das BSR  - Register entsprechend gesetzt? Hier mein Vorschlag, wenn alle Variablen auf der gleichen Bank sind. Warum Du eephigh zum Schluß zurückschreibst ist mir noch ein Rätsel.

sub1:
    MOVLB eephigh :Bank auswählen                 
    movff   eephigh,sub      ;eephigh soll nicht überschrieben werden: sichern
    movf    adclow,W,BANKED       ;adclow in WREG
    subwf   eeplow,W,BANKED      ;eep minus adc (WREG),ergebnis in WREG
    bnc     sub2             ;wenn positiv nach sub2
    decf    eephigh,F,BANKED          ;ist negativ: für nächsten substract negativer
                             ;übertrag in eephigh
sub2:
    movf    adchigh,W,BANKED      ;adchigh in WREG
    subwf   eephigh,W,BNKED     ;eeprom minus adc (WREG),ergebnis in WREG
    ;movff   sub,eephigh      ;eephigh zurück sichern
                             
    return  

ich kenne es noch so, ist aber im Prinzip das selbe
        movf    SourceL,W
        subwf   DestL
        movf    SourceH,W
        btfss   STATUS,C
        incfsz  SourceH,W
        subwf   DestH   

mal eine Frage: adc /low-hi ist eine Kopie vom ADRES Register? hast Du da bei ADCON2 ADFM auf rechts- oder linksbündig gestellt?
ist die Zeit hoch genug zu konvertieren des Anlogswertes?
#13
P
Mikrocontroller / Aw: Hardware-Debugging läuft n...
Letzter Beitrag von picass - 30.09.2023, 11:29:11 CEST
Es ist zum Mäusemelken! >:(
Die Schaltung arbeit nun wie erwünscht von null bis 450 - was Temperaturen anzeigen soll. In diesem Bereich kann man alles regeln und fein einstellen. Aber sobald man einen Tacken "höher" dreht, springt die Anzeige auf 950 und verharrt dort, egal, wie man weiter im  höheren Bereich regelt. Regelt man wieder nach "unten", also unterhalb 460, dann läuft es wieder.

Ein und dasselbe Prog läuft im Soft-Simulator (SS) einwandfrei. Im SS werden lediglich an zwei Positionen die Werte für den Eingang, also den ADC, vorgegeben, das Auslesen der passenden EEProm-Werte klappt - gleich für beide Tabellen, und somit zeigt der SS jedwedes "richtige" Ergebnis passend zum simulierten Eingangswert des ADCs. Das Ganze wieder zurück in den PIC und schon will der nur bis 450, danach beharrt er auf 950.
Watt'n Mist, dass der Hardware-Debugger quasi völlig untauglich ist. Weil der wohl alles abgeschaltet hat - sowohl den ADC-Eingang als leider auch das EEProm - ist der somit nutzlos.
Wieder mal die leere Menge. Kann sein, dass ich Abstand brauche, es fällt mir gerade nichts Sinnvolles ein. :(
@pic18 : hattest du schon Gelegenheit, die Subtractionsroutine zu beblicken?
Grüße, picass
#14
P
Mikrocontroller / Aw: Hardware-Debugging läuft n...
Letzter Beitrag von picass - 29.09.2023, 17:32:46 CEST
Der CD4511 ist ein Klassiker, aber bitte: es ist nicht die Hardware, welche Probs bereitet, der Riesen-Floh sitzt in der Software.

Nachdem gestern Nachmittag erst mal ,,leere Menge" vorherrschte, fielen mir spätabends dann doch noch 8 weitere Test-Möglichkeiten ein. Etliche kamen heute zum Einsatz und wieder heißt es wie bekannt: die Hoffnung ....... zuletzt.
@pic18:
Du des Wahnsinns fette Beute hattest mir (wieder) angeboten, das störrische Prog hochzuladen und ggf. einen Blick drauf zu werfen. Davon würde ich nun doch mal Gebrauch machen wollen. Aber nicht das ganze Prog. Das ist schon ohne den Ausdruck des randvoll gefüllten EEProm-Bereiches ganze 10 Seiten  lang. Aber ein Schnipsel daraus wäre fein: eine Subtraktions-Routine. Die ist für 16-bit ausgelegt, wird aber nur mit 8-bit-Worten betrieben....: egal. Bitte wirf einen  Blick drauf. Im Zip-File ist alles drin: diese eine Routine, Text, ASM......, der ganze Ordner könnte sofort in MPLAB X in ein Projekt übernommen werden. Der µC ist quasi egal, bei mir ist es – is klar – der PIC18F14K22. Ist dem Software-Simulator aber auch weitestgehend egal, ist ja nur ,ne kleine Sub-Routine.
Eine Bitte hätte ich: es gibt viele Wege (Routinen), welche nach Rom führen. Bitte nicht gleich was Anderes nehmen, sondern wirklich diese eine beblicken und wenn möglich, im Sim testen.
Grüße, picass
copy9.zip
#15
P
Mikrocontroller / Aw: Hardware-Debugging läuft n...
Letzter Beitrag von pic18 - 28.09.2023, 18:15:23 CEST
der CD4511 ist keine günstige Wahl, da du nur Ziffern von 0 bis 9 anzeigen kannst. Besser wäre da sowas wie MC14495, der ist aber leider nicht pinkompatibel, du kannst aber mal den U40511 bzw V40511 anschauen, der dürfte pinkompatibel sein, ich weiß aber nicht ob es den noch gibt. Ich sage das deswegen, weil du dadurch Hexadecimal Werte anzeigen kannst.
Wenn Du magst, dann kannst Du ja dein Progr. mal hochladen. Dann sehe ich darüber.
#16
P
Mikrocontroller / Aw: Hardware-Debugging läuft n...
Letzter Beitrag von picass - 28.09.2023, 15:59:39 CEST
Dieses Vieh - also das Prog - droht, mich zu schaffen.
Der von dir - pic18 - genannte Hinweis, sich erst um einwandfreie Anzeige zu bekümmern, war einer der oben genannten  fünf Punkte. Das hatte ich auch als Erstes in Angriff genommen und damit das Pferd vom Schwanz her aufgezäumt Abgesehen von einer unbedeutenden Kleinigkeit gab es da aber nichts zu bemängeln, die Anzeige zeigte, was ihr angeliefert wurde.
Dann hatte ich für eine  bessere Übersicht über die drei Ablaufvariablen (AV) gesorgt, danach das ganze Prog akribisch durchforstet und dabei eine Ablauftabelle für die Zwischenstände der ABs erstellt. Die dann per Soft-Sim neu abgegrast und - tusch - entdeckt, dass die Einsprungadresse für die zweite der beiden Tabellen falsch war. Das also korrigiert und eben etwas aufgeregt zwecks neuer Hoffnung gestartet, aber zum x-ten Male wieder nix. Es wird eine (neue) Zahl angezeigt, die macht aber weder Sinn und schon gar nicht reagiert die Anzeige auf Änderungen des Eingangswertes.
Jetzt brauche ich erst mal viel Kaffee. Aber so langsam gehen mir sowohl die Hoffnung auf Besserung als auch die Ideen aus, wie man dem RIESEN-FLOH, der irgendwo verborgen schlummert, auf die Spur kommen könnte.
Grüße, picass

Nachtrag: der PIC gibt seine Daten an drei 7-seg-Anzeigentreiber vom Typ CD4511 aus. Der invertiert quasi und speichert u.a. Dieser Schaltungsteil ist aber unverdächtig. Ach ja, neu ist immerhin, dass die EEProm-Werte (Inhalt der Adressen) vom Soft-Sim angezeigt werden, das half schon mal tüchtig weiter.
#17
P
Mikrocontroller / Aw: Hardware-Debugging läuft n...
Letzter Beitrag von pic18 - 27.09.2023, 09:53:26 CEST
ich würde mir überlegen die Anzeige zu aktivieren. Wie wird sie denn angesteuert? Sind Dekoder davor geschaltet oder hängen Sie direkt am Port?
#18
P
Mikrocontroller / Aw: Hardware-Debugging läuft n...
Letzter Beitrag von picass - 27.09.2023, 09:46:29 CEST
Nein, das klappt mit dem Soft-Sim (SS) natürlich nicht. Diese SS ist ja eine voll manipulierbare Angelegenheit und damit einer der Gründe, weswegen ich nicht so recht weiter komme. Dieser SS vermittele ich ja an diversen Stellen solche (Eingabe-) Werte, die nach meiner Erwartunshaltung dort "hingehören". Kann gut sein, dass man sich mit dieser Erwartungshaltung lediglich selbst austrickst.
Noch ein zweites "Nein": der Durchbruch ist noch nicht da. Die diversen Blöcke/Unterprogs funktionieren für sich genommen, aber wahrscheinlich habe ich mich in dem gesamten Progablauf verirrt. Im Prog gibt es 36 Variable und allein drei davon sind für die Ablaufsteuerung - also die jeweilige Position - zuständig. Dann gibt es noch 2 Tabellen im EEProm, zweimal wird der ADC eingelesen.....schwitz. :(
Habe mir eine Liste mit sechs Techniken/Lösungsansätzen erstellt, die ich heute abarbeiten werde. Zumindest das Auslesen der Tabellen sollte mit dem HW-Debugger klappen. Vielleicht bringt der wechselseite Einsatz der beiden Simulatoren was.
Grüße, picass
#19
P
Mikrocontroller / Aw: Hardware-Debugging läuft n...
Letzter Beitrag von pic18 - 27.09.2023, 09:14:30 CEST
Mit dem Simulator kann ich mir nicht vorstellen, wie Du die Werte einlesen willst.
#20
P
Mikrocontroller / Aw: Hardware-Debugging läuft n...
Letzter Beitrag von picass - 26.09.2023, 09:49:19 CEST
Zitat von: vloki in 25.09.2023, 16:15:26 CEST.....alle "normalen" Funktionen der Pins PGD/PGC/Vpp blockiert.
:(
Hatte im Stillen gehofft, die obere Grenze für den Messbereich um-zwitschen zu können von externer Widerstandskette auf Ausgabe eines intern erzeugten Referenzwertes - passen würden da 2,048 Volt. Aber wenn das Alles nicht funkt.....
LCD-Anzeige nicht, aber es hängt eine 3-stellige 7-Seg-Anzeige dran. Mit solchem Equippment - also einer funktionierenden solchen Anzeige - bin ich überhaupt gestartet. Das lief schon anfangs des Projektes "Anzeigeplatine für Dieselpartikelfilter-Regeneration". Diese "Frühform" zeigte bereits Zahlen an, allerdings passte da allerlei noch nicht. In der Folge wurde das Prog kräftig umgewürfelt, die Portbelegung und ihre Initialisierung geändert, etc..... Ein Zurück zu dem damaligen Zustand wäre möglich, aber das werde ich nicht mehr versuchen, der Aufwand wäre mir zu groß.

Gestern sprach ich von dem "vermeintlich letzten Floh". Den habe ich gestern am frühen Abend entdeckt und - is klar - gleich noch einen weiteren. Beseitigt sind die aber noch nicht, das kommt jetzt gleich. Und weil ich hoffnungsschwanger bin, es könnten tatsächlich die Letzten sein, stürze ich mich darauf.
Wenn das hardwaremäßig nicht möglich ist, dann muss halt die Software-Sim weiter helfen.
Grüße, picass