Forum: Mikrocontroller und Digitale Elektronik Frage zu Stimulus-File (18F26K20)


von Andy (Gast)


Lesenswert?

Hallo allerseits,
Ich habe eine Frage bezüglich der Stimulus-Funktion im MPLAB. Wenn ich 
mein Programm ohne Stimulus laufen lasse, bekomme ich die Meldungen 
"ADC-W0008: No stimulus file attached to ADRESL for A/D." und 
schlussendlich "MAXIMUM number of warnings/errors exceeded 200, program 
execution halted.", worauf das Programm stoppt.
Wenn ich im Stimulus-Menü ein Textfile mit einem AD-Wert einlese, 
funktioniert es einwandfrei. Problem dabei ist, dass nun dieser Wert für 
ALLE AD-Operationen herangezogen wird. Das kann ich nicht brauchen.
Nun gibt es die Möglichkeit, ein scl-File zu erstellen, in dem man in 
einer VHDL-ähnlichen Sprache einstellen kann, welcher AD-Pin welchen 
Wert bekommt. Funktioniert auch, nur habe ich das Problem, dass die 
Meldungen (die ich oben erwähnt habe) wieder kommen und das Programm 
hält. Das ist natürlich nicht brauchbar.

Hat da wer Erfahrungen damit? Danke!

mfg
Andy
von Anton Nym (Gast)


Lesenswert?

von Andy (Gast)


Lesenswert?

Danke für deine Weisheit!

Ich glaube, jeder der sich meinen Sachverhalt durchliest, weiß was das 
Problem ist. Und solche Bemerkungen von irgendwelchen Leuten, die 
denken, sie sind die klügsten, tragen nicht wirklich zur Lösung bei.

Also, nochmal zum Thema: Hatte irgend jemand schon mal mit dieser 
Problematik zu tun, und kann mir sagen, wie ich diese Fehlermeldungen 
wegbekomme??

Danke!
von iaoffline (Gast)


Lesenswert?

Andy schrieb:
> Wenn ich im Stimulus-Menü ein Textfile mit einem AD-Wert einlese,
> funktioniert es einwandfrei. Problem dabei ist, dass nun dieser Wert für
> ALLE AD-Operationen herangezogen wird. Das kann ich nicht brauchen.
> Nun gibt es die Möglichkeit, ein scl-File zu erstellen, in dem man in
> einer VHDL-ähnlichen Sprache einstellen kann, welcher AD-Pin welchen
> Wert bekommt.

Hab ich über ein .txt File gemacht. Bisher aber nur 1 Kanal

Mplab liest die Werte nacheinander, wenn du also mehr als einen Kanal 
brauchst nimmst du einfach 2 Werte (bzw 4 6 8...)

Das txt File sieht in dec. so aus

500
501
1200
1502
100

In Hex:
0x100
0x200
0x300
0x1024
von Andreas P. (andreas_p71)


Lesenswert?

Vielen Dank,
Das habe ich auch schon probiert... Problem ist, dass ich 7 Kanäle nutze 
und diese nicht unbedingt regelmäßig ausgelesen werden. D.h. diese 
Vorgehensweise ist für mich nicht zu gebrauchen, weil das Verhalten 
nicht deterministisch ist. Deshalb will ich auch das scl-File nutzen, 
weil man da bequem die Kanäle einstellen kann...

lg
von iaoffline (Gast)


Lesenswert?

Andreas P. schrieb:
> Problem ist, dass ich 7 Kanäle nutze
> und diese nicht unbedingt regelmäßig ausgelesen werden. D.h. diese
> Vorgehensweise ist für mich nicht zu gebrauchen, weil das Verhalten
> nicht deterministisch ist

Als Idee: Kann man die Stimuli auf das A/D Kanalregister triggern (wenn 
es existiert)?

Sonst klingt für mich nach mehr Aufwand die Stimuli zu schreiben als das 
ganze zu debuggen ;-). Es gibt so eine Art Register Injection, 
vielleicht hilft das ja weiter. Vom Prinzip wird das vermutlich wenig 
nutzen da auch die Stimuli determinstisch sind, du also bei jedem Lauf 
die gleichen einliest.


Benötigt wird vermutlich etwas das von extern die Werte zufallsgesteuert 
erzeugt. Möglichst auch noch in einem gewissen Wertebereich und auch 
noch pro Kanal. Das geht evtl. mit einem kleinen Programm das die .txt 
Stimuli ständig ersetzt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.