von Debug/ Release Mode

OP (Firma: FH) #1209319
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich habe ein Programm, das auch ganz wunderbar funktioniert.
Allerdings nur, wenn ich es auf meinen uC debugge. Es soll aber ständig 
laufen, auch wenn ich die Verbindung zwischen ICD2 und der Schnittstelle 
zum uC trenne....

Ich benutze MPLAB IDE v8.20, wenn ich von Debugger auf Programmer 
umschalte, und das Programm laufen lassen will, funktioniert aber 
garnix!

Ich habe Pin 10 von meinem 30F2020 als Osci- Ausgang deklariert und 
dabei gesehen, dass nicht mal der Osci ein Signal von sich gibt.....

Kann mir jemand sagen, wo ich den Fehler suchen soll?
Oder worauf ich beim Programmer allgemein achten muss?

Gruß
ede
#1211745
Lesenswert?
• ▲
▼
Pic- gangster Edgar wrote:
> Ich habe Pin 10 von meinem 30F2020 als Osci- Ausgang deklariert und
> dabei gesehen, dass nicht mal der Osci ein Signal von sich gibt.....
>
> Kann mir jemand sagen, wo ich den Fehler suchen soll?

Das klingt irgendwie als ob du versuchst den Takt des internen 
Oszillators auszugeben.

Die Clock-Out-Funktion ist gedacht um ein Quarz am Controller zu 
betreiben.

Setze einen Pin am Anfang des Programms auf High. Dann kannst du 
kontrollieren ob der Controller anläuft und siehst auch ob er resettet 
(zB wenn der Watchdog an ist).

Ansonsten sind Probleme mit den Takt nahezu immer auf falsche Config 
Bits zurückzuführen.

Falls es nicht geht, poste mal die Config Bits.
OP (Firma: FH) #1213864
Lesenswert?
• ▲
▼
Hallo,

also das mit dem Release-Mode geht jetzt...so einiger maßen...

ich hab jetzt folgendes:
im Debug-Mode läuft das Programm einwand frei...
aber im Release-Mode tut er irgendwie folgende Zeile ignorieren:

********************************
int uC-NS;

uC_NS = PORTBbits.RB1;
********************************

eigentlich wird in diesem Befehl ein Signal vom parallel-uC eingelesen..
('1' oder '0')....aber hier tut er so, als wäre immer eine '0' am 
Eingang....
wie gesagt, im Debug-Mode funktioniert es!

komisch komisch....

vll liegt es ja an diesem 'PORT'- Befehl?

bin für jeden Tipp dankbar!!!

Gruß
ede
#1214108
Lesenswert?
• ▲
▼
Pic- gangster Edgar wrote:
> also das mit dem Release-Mode geht jetzt...so einiger maßen...

An was hats gelegen?


> ********************************
> int uC-NS;
>
> uC_NS = PORTBbits.RB1;
> ********************************

uC-NS ist nicht dasselbe wie uC_NS

Ansonsten ist das schon richtig.
Woher weisst du im Release Modus ob das falsche eingelesen wurde?
Also wie testest du das?
OP (Firma: FH) #1214836
Lesenswert?
• ▲
▼
hey Willi,

ne sorry, das war jetzt ein Tipfehler von mir....in meinem Programm sind 
die beiden Variablen natürlich identisch.

Ich weiß, das er immer nur eine '0' einliest, weil er immer nur im 
Tiefsetzsteller-Betrieb arbeitet, und nie in den Hochsetzsteller-Betrieb 
wechselt, egal was der andere uC gerade so treibt.

Ich vermute, das der Spannungspegel am Pin einfach nicht hoch genug ist.
Ich habe nämlich gerade das Programm umgeschrieben. Und mache jetzt an 
dem Pin eine A/D-Wandlung. Und siehe da, er schaltet wunderbar um.

Welche Spannung brauch ich den eigentlich, um eine '1' zu haben? 2,5V?

**********************
...
init_ADC();

if (ADCVALUE >= 512)
{

...
***********************

vorher hatte ich die Abfrage:

***********************
...
if (uC_NS == 0)
{
...
***********************


aber eine echte Lösung ist die A/D-Wandlung natürlich nicht, denn es 
geht bei mir ja um jede Nanosekunde.

Gruß
Edgar

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren