- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 11

Thema: Configuration Word Konstanten

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Siro Beitrag anzeigen
    Aber unter MPLABX bekomme ich überhaupt kein Compilat zu Stande.
    Na was solls, das heisst also wieder zurück zum Assembler . Ich stehe eh auf Kriegsfuss mit "C"
    Das kann ich nun garnicht nachvollziehen. Ich hab früher die PIC16xx in C (nicht MPLAB) programmiert. Als dann MPLAB als MPLABX auch für Linux zu bekommen war, hab ich das gleich ausprobiert. Zusammen mit dem PICkit 3 läuft das prima. Ich habe das auf mehreren Rechner installiert, die Downloadzeit ist länger als die Zeit bis zum ersten toggeln eines Portpins.

    Die meisten Features nutze ich noch garnicht, weil mir die Erfahrungen mit einer modernen IDE fehlen. An manches muß man sich auch gewöhnen z.B. wenn einem schon der Editor sagt, daß man gerade einen Fehler hingeschrieben hat, daß es eine Variable oder Funktion mit diesem Namen garnicht gibt. Aber dieses Ctrl-B (goto declaration) ist schon sehr hilfreich, wie du gerade siehst.

    Auf die Debugfeatures möchte ich aber auf keinen fall verzichten. Breakpoints (die PIC24 haben da mehr als die PIC16), Single Step etc. Und mit der Maus über eine Variable gehen und den Wert sehen, oder sich ganze Strukturen anzeigen lassen. So als ob man auf dem PC und nicht auf der Zielhardware arbeitet.

    Ich habe, wenn ich mich recht erinnere, auf einem anderen Rechner den XC8 mit installiert. Ich schau da mal nach ob ich da was finde.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Na ich weis nicht, mit dem MPLABX bin ich anscheinend überfordert.
    Alleine der USB-Switcher, was soll das denn. Ich hab das dauernd umstellen müssen,
    Dann hatte ich den PM3 Programmer dran, da kam erstmal ein Warnhinweis, dass dieser zerstört werden könnte.
    Ich hab dann den ICD-3 angeschlossen. Irgendwie wollte das alles nicht vernünftig laufen.
    Die MPLABX will ich auch nicht schlecht machen, da gibt es wirklich sehr viele Vorteile, wie Du schon sagtest. Aber meiner Meinung nach noch nicht ausgereift.
    Und ich würde deinen PIC24 nun auch nicht NUR in Assembler programmieren wollen, obwohl ich das schon gemacht habe und dabei einen Core-Fehler entdeckte, der in "C" nie aufgetaucht wäre.
    Siehe
    https://www.roboternetz.de/community...post-increment
    Ich werde früher oder später sicher nochmal mit der MPLAB-X probieren, aber im Moment bleibt ich noch beim altbewährten.
    Mit den nicht gefundenen Konstanten oder den total verschachtelten includes bei "C" ist ja kein Weltuntergang,
    braucht man sich normalerweise nicht drum zu kümmern, aber wenn ich das nicht mehr nachvollziehn kann, nervt mich das schon. Weil es funktioniert ja, aber ich weis nicht warum.....
    Siro

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    So, ich hab mal auf dem anderen Rechner nachgeschaut. Der XC8 war früher der HighTech Compiler, ist wohl von Microchip gekauft worden.

    In ../xc8/v1.xx/docs gibt es ein manual.pdf. Da ist der Compiler beschrieben. Im Kapitel 5.3.5 werden die Configuration-Bits behandelt. Die Beschreibung der Device-spezifischen Configbits findest du in .../docs/chips/name_deines_chips.html.

    Hab mir ein MPLABX Projekt mit dem Prozessor PIC12F617 angelegt und einen File mit main() erzeugen lassen, die Bits nach Manual gesetzt, ging sofort. Das Ctrl-B "Go to declaration" geht natürlich bei einem #pragma nicht.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Hallo Klebwax, ich hab mir das auch nochmal angeschaut:
    Und habe fast identisches gefunden.

    Ich habe jetzt eine andere Vorgehensweise probiert.

    #pragma config Usage
    #pragma config <setting>=<named value>
    Hier gibt es zumindest eine recht gute Beschreibung
    Dazu sollte man sich die Dateien im Ordner:
    C:/Programme/Microchip/xc8/v1.10/docs/chips/12f617.html
    ansehen.

    Nun sieht meine Konfiguration so aus:

    Code:
    #pragma config BOREN  = ON       /* Brown-out Reset Selection bits */
    #pragma config WRT    = HALF     /* Flash Program Memory Self Write Enable bits */
    #pragma config FOSC   = INTOSCIO /* Oscillator Selection bits */
    #pragma config MCLRE  = OFF      /* MCLR Pin Function Select bit */
    #pragma config WDTE   = ON       /* Watchdog Timer Enable bit */
    #pragma config IOSCFS = 4MHZ     /* Internal Oscillator Frequency Select */
    #pragma config CP     = OFF      /* Code Protection bit */
    #pragma config PWRTE  =  ON       /* Power-up Timer Enable bit */
    zudem verweise ich mal auf das XC8 User Manual
    DS52053A-page 73
    3.3.5 Configuratio Bit Access

    Jetzt weis ich zwar immer noch nicht woher der Compiler dann seine Werte nimmt, aber was solls.
    Ich arbeite erstmal so damit. Das sieht auch viel übersichtlicher aus mit der der pragma direktive.

    Jetzt weis ich auch warum ich kein Projekt compiliert bekomme unter unter MPLABX

    "C:\Programme\Microchip\xc8\v1.01\bin\xc8.exe" --pass1 --chip=12F675 -Q -G --asmlist --double=24 --float=24 --emi=wordwrite --opt=default,+asm,-asmfile,+speed,-space,-debug,9 --addrqual=ignore --mode=free -P -N255 --warn=0 --summary=default,-psect,-class,+mem,-hex,-file --runtime=default,+clear,+init,+keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+config,-clib,+plib "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s" -obuild/Production/production/newmain.p1 newmain.c

    Das System kann den angegebenen Pfad nicht finden.
    Wundert mich jetzt nichtmerh, weil das Verzeichnis heisst ja auch:
    C:\Programme\Microchip\xc8\v1.10\bin\xc8.exe
    und das habe ich bei den Tools auch richtig eingestellt.
    Keine Ahnung warum er den Compiler im falschen Verzeichnis sucht.



    Dank Dir auch nochmal für die Mühe.
    Siro
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken XC8-Verzeichnis.jpg  
    Geändert von Siro (01.11.2012 um 14:40 Uhr)

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Siro Beitrag anzeigen
    Dank Dir auch nochmal für die Mühe.
    Keine Ursache!

    Es beruhigt mich aber ungemein, daß die Doku auf deinem Recher die gleiche ist, wie die auf meinem. Und es ist auch schön zu wissen, daß es funktioniert, wenn man die Doku ernst nimt.

    MfG Klebwax

    P.S. v1.10 vs. v1.01 sieht aus, als ob mal eine ältere Version installiert wurde. Ich habe vom 16 Bit Compiler mehrere Versionen installiert und kann die bei jedem neuen Projekt auswählen.
    Strom fließt auch durch krumme Drähte !

Ähnliche Themen

  1. Bascom und Assembler: konstanten Wert in Variable laden
    Von malthy im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 16.04.2012, 12:54
  2. Xmega - Timer configuration
    Von Duesentrieb7 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 09.12.2009, 21:56
  3. Mit #define zugewiesene Konstanten nicht zuweisbar?
    Von EDatabaseError im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 21.05.2008, 17:09
  4. ADC von rnmega2560 gibt einen konstanten Wert zurück!
    Von turi79 im Forum Sensoren / Sensorik
    Antworten: 6
    Letzter Beitrag: 14.02.2008, 14:21
  5. Probleme mit configuration bit...!
    Von RIFMAN im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 18.07.2007, 15:43

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test