Hardware-Debugging läuft nicht

Begonnen von picass, 25.09.2023, 13:15:58 CEST

Vorheriges Thema - Nächstes Thema

vloki

Du machst irgendwas falsch, sonst würde der Debugger funktionieren. ;-)

Meine Kristallkugel ist zwar sehr unzuverlässig, aber irgendwo im tiefsten Ratenebel,
(aufgrund fehlender Informationen) könnte ich mir eventuell vorstellen,
dass der entsprechende Pin nicht richtig als digitaler Eingang konfiguriert ist?
MPLABX  XC8  KiCAD

picass

#21
Da sind wir uns - fast - einig: wie üblich wird der Fehler beim Nutzer liegen! :-*
Aber fein, dass man so als Nutzer in der Not nicht alleine gelassen wird. Die ist schon erheblich: u.a. habe ich schon zwei PIC18F13K22 geschrottet und das Wort "Zeit" sollte ich nicht anfassen, sonst...  Sonst hatte ich schon daran gedacht, das Piccen einzustellen, weil mir das Gefummel mit den einzelnen Bits und der Kampf im Drahtverhau doch über die Grenzen wächst. Ob der Wechsel vom Vierzehner zum Dreizehner Glück brachte, wäre auch noch zu debattieren.
Dein Tipp, es könne was mit der Port-Config zu tun haben, ist insoweit gerechtfertigt, als mir das früher schon verschiedentlich ein Bein gestellt hatte. Aber diesmal nicht: es gibt nur drei Port-Pinne als Eingang und die sind alle digital. Das Digitale wird durch das Register ANSEL erledigt: wenn das auf "0" steht, ist's digital. Und da nach dem Einschalten des µC's erstmal alle Register von Natur aus auf Null liegen, müsste das reichen. Deswegen habe ich auf ein "clear" verzichtet.
Verzichtet habe ich auch auf eine Entprell-Programm-Routine. Wenn ich sonst nicht weiter komme, wird das noch geprüft. Aber die Einganssignale sind "eigentlich" sehr sauber.
Mittlerweile hatte ich die Sprungverzweigung nach Bit-Test-Befehlen im Verdacht. Dafür habe ich jetzt gerade wieder mein Lieblings-Board ausgekramt, das "PICkit Low Pin Count Demo"-Board. Da stricke ich den Eingangsteil meines Programmes um, sodass die Zuweisungen stimmen und werde gleich wieder auf die Flohsuche gehen. Ist für mich nicht möglich, abzusehen, wann der Schlag erfolgen wird. Bis jetzt ist der Floh immer noch ausgewichen! :'(  Sollte ich den heute erschlagen können, wäre das ein besonders feines Geburtagsgeschenk an mich.
Grüße, picass

PICkel

Hallo picass,

ANSEL und ANSELH stehen nach Neustart bzw. Reset auf 11111111 bzw. ----1111.
Siehe Dabla Seiten 94, 95 und 254 und damit auf Analog!

Gruß
PICkel

picass

#23
Schade!
Bin um 20 min zu spät! Verspätung ist aber entschuldigt, musste zwischenzeitlich viel Käsekuchen essen!
Das Datenblatt hatte ich nicht ausgewrungen, dort also keine Erleuchtung bezogen, aber mein heiß geschätztes Testboard - das mit dem langen Namen - hat diese Wahrheit ausgespuckt: ohne ANSEL explizit auf Null zu setzen, liefert z.B. ein Sprungbefehl, welcher mit dem nicht korrekten ANSEL-Bit versehen ist, völlig unerwartete Sprünge! :o  Dieses A-Bit auf "0", und schon prescht der Springer dorthin, wo er auch erwartet wird.
Dies Erkenntnis habe ich noch nicht in mein Nutzprog übernommen, weiß nicht, ob ich heute noch dazu kommen. Aber der Floh sollte sich besser aus eigenem Antrieb verziehen, denn nun sind nebenbei auch die Erkenntnisse da, dass den Hardware-Debugger keine Schuld triftt. Der reagiert auf externe Zustandsänderungen durch Wechsel von plus auf GND oder umgekehrt nunmehr prächtig. Auch die mit Zweifeln betrachteten Sprungbefehle nach Bit-Test-File-Abfrage arbeiten endlich so, wie erwünscht. Die Aussichten steigen! Zeit für den Floh: mach'n Abgang ! >:D
Ach ja, beinahe vergessen: danke für dein Datenblätterwald-Gerausche!

Räusper.........! Die Glaskugel von Volker hat einen hervorragenden (Durch-) Blick erlaubt: alle Neune! Es war doch mal wieder die nicht passende Port-Konfiguration. :(
Gruß, picass

vloki

#24
Zitat von: picass in 07.10.2024, 16:34:20 CESTUnd da nach dem Einschalten des µC's erstmal alle Register von Natur aus auf Null liegen...

Wie warst du denn auf diese Idee gekommen? ;)

Die TRIS Bits stehen doch defaultmäßig auch alle auf "1" für Eingang.
Wenn analog Eingang möglich, dann ist analog auch immer die Voreinstellung.
(von evtl. Config Bits mal abgesehen)
MPLABX  XC8  KiCAD

picass

Diese Idee? Naja, bin einfach davon ausgegangen, dass ohne "Exra-Befüllung" durch Anweisungen im Programm Register auf Null stehen. Hatte mich bislang einfach nicht um diese Bedingungen bekümmert. Die schiere Menge der 347 Seiten des Datenblattes hatte mich beim ersten Aufeinandertreffen nicht nur beeindruckt, sondern eher erschlagen. Systematisch durch gearbeit hatte ich diese Seitenflut nicht und mir auch nur ausgewählte Kapitel ausgedruckt.
Aber gettz habe ich mir das Kapitel 22.6 der "Reset State of Registers" zu Gemüte geführt und werde es zukünftig beachten. Hoffentlich. >:D
Grüße, picass

Schnellantwort

Name:
Verifizierung:
Bitte lassen Sie dieses Feld leer:
Geben Sie die Buchstaben aus dem Bild ein
Buchstaben anhören / Neues Bild laden

Geben Sie die Buchstaben aus dem Bild ein:

Tastenkürzel: Alt+S Beitrag schreiben oder Alt+P für Vorschau

Similar topics (2)