Microchip X IDE Code Problem

Gast #7082226
Lesenswert?

Hi zusammen,

ich habe das Problem, dass der Mikrocontroller nicht das macht, was er 
machen sollte. zu Testzwecke habe ich eine kleine for schleife gebaut, 
die schon Probleme macht. (siehe Bild). Der Pic habe ich beim ersten 
Nop(); angehalten. Das bedeutet, i und test sollten gleich 0 sein. Sind 
sie aber nicht. Wenn ich die schleife arbeiten lassen würde, ändern sich 
die Variablen nicht! Die bleiben bleiben immer auf einem Zufallswert 
stehen.

Mein Programm ist so aufgebaut, wie unten beschrieben. Das gesamte 
Programm funktioniert ordnungsgemäß, bis auf die for schleife, die im 
Screenshot zu sehen ist. Ich bin am verzweifeln. Ich bin überhaupt kein 
Anfänger in diesem Bereich, habe aber keine Ahnung mehr, was ich machen 
könnte, was ich falsch machen soll.

Ich verwende:
 MPLAB X IDE 6.00
 XC32 4.00
 PIC PIC32MX795F512L


    if(IP){

        if(ICMP){
        }

        else if(TCP){
            <----- Problem (Screenshot)
        }

    }
    else if(ARP){

    }


ich hoffe es kann mir irgend jemand bei dem Problem helfen.
Angehängte Dateien:
Gast #7082679
Lesenswert?

PittyJ schrieb:
> Vielleicht wird test vom Compiler wegoptimiert, weil der Wert nie weiter
> gebraucht wird.

Das dachte ich auch spontan, aber müsste die IDE dann nicht anzeigen, 
dass die Variablen nicht existieren, anstatt einen (scheinbar) 
zufälligen Wert? Außerdem ist eine der beiden Variablen volatile, und 
NOP(); ebenfalls. Das müsste doch ein Weg-Optimieren verhindern, oder 
nicht?
Gast #7082999
Lesenswert?

Ich habe jetzt nochmal etwas getestet. Egal wo ich diesen Testabschnitt 
einfüge, es funktioniert an jeder stelle, außer an den beiden stellen, 
die im Foto zu sehen sind. Das muss doch ein Compiler Fehler sein oder 
nicht?


    ###geht####
    if(IP){
        ###geht####
        if(ICMP){

             ...

             ###geht####
        }

        else if(TCP){
            ---geht nicht----
        }

    }
    else if(ARP){

    }


--------------------------------------

    ###geht####
    if(IP){
        ###geht####
        if(ICMP){

             ...

             ###geht####
        }

        ---geht nicht----

        if(TCP){
            ---geht nicht----
        }

    }
    else if(ARP){

    }
Angehängte Dateien:
Gast #7084703
Lesenswert?

Aster O. schrieb:
> Hi, ne nichts falsch eingestellt wirklich defekt.
>
> Das Projekt mit allen einstellungen habe ich 1:1 auf den anderen rechner
> kopiert

Unglaubhaft, wenn alles 1:1 kopiert wurd, ist auch das Ergebnis 1:1.
meist ist irgendein Pfad zu headerdateien flsch, respektive die 
berichtigte Version dieser wurde nicht auf den Rechner geladen.
Gast #7086619
Lesenswert?

Fpgakuechle K. schrieb:
> Unglaubhaft, wenn alles 1:1 kopiert wurd, ist auch das Ergebnis 1:1.
> meist ist irgendein Pfad zu headerdateien flsch, respektive die
> berichtigte Version dieser wurde nicht auf den Rechner geladen.

Ich habe jetzt noch etwas herumgespielt, und alles was ich sagen kann 
ist, dass wenn ich das komplette Projekt (alle einstellungen, Datein 
...) auf meinem Rechner Starte habe ich Probleme, beim Laptop gehts.

Auch wenn ich bei beiden Geräten sage, Clean and Build Project.

-> PC neu installiert, jetzt läufts!

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