- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 8 von 8

Thema: Variablendefinition in Microchip Studio

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    908
    Zum jetzigen Zeitpunkt würde ich davon ausgehen, dass die beim Anlegen eines neuen Projektes voreingestellte Optimierungsstufe im Compiler Dein "i" einfach rauskickt. Die kannst Du aber in den Projekteigenschaften auf "None" stellen.
    Dazu:
    ALT+F7
    dann Karteikarte Toolchain
    auf <C oder C++>Compiler,
    dann Optimization
    da dann "None" auswählen.

    Das Ergebnis der Aktion kannst Du dann auch im Listing in den unterschiedlichen Optimierungsstufen anschauen und vergleichen. Listing und Map-File landen nach dem kompilieren im Solution-Explorer unter "Output Files" als *.lss und * map. Und damit arbeitet auch der Debugger.

    Kurz: Was in *.lss und *.map nicht drin steht, findet der Debugger nicht.

    (Also hast Du auch nix falsch gemacht)

    Nachtrag noch (für die anderen beiden Threadteilnehmer):
    An den Includes kanns hier nicht liegen. Man kann, wenn man so ein Projekt offen hat, den Weg von IO.h zu StdInt.h in den jeweilig eingebundenen Headern verfolgen.
    IO.h->sfr_Def.h->IntTypes.h->StdInt.h.
    Entsprechend taucht die StdInt.h auch nach dem Kompilieren in den "Project Dependencies" auf, ohne dass man sie jemals selber direkt eingebunden hat.

    Macht nix, ich will nicht klugscheißern, aber vielleicht habt Ihr was mitgenommen.
    Geändert von Holomino (24.10.2024 um 10:34 Uhr)

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von Andre_S
    Registriert seit
    26.06.2005
    Beiträge
    369
    Zitat Zitat von Holomino Beitrag anzeigen
    Nachtrag noch (für die anderen beiden Threadteilnehmer):
    An den Includes kanns hier nicht liegen. Man kann, wenn man so ein Projekt offen hat, den Weg von IO.h zu StdInt.h in den jeweilig eingebundenen Headern verfolgen.
    IO.h->sfr_Def.h->IntTypes.h->StdInt.h.
    Entsprechend taucht die StdInt.h auch nach dem Kompilieren in den "Project Dependencies" auf, ohne dass man sie jemals selber direkt eingebunden hat.

    Macht nix, ich will nicht klugscheißern, aber vielleicht habt Ihr was mitgenommen.
    Danke für die Information...
    Dies hätte man sicher nachschauen können, so man diese Entwicklungsumgebung aktuell noch nutzt bzw. installiert hat,... allerdings bin ich über diesen Punkt seit Jahren hinweg...


    Gruß André

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.707
    ..Nachtrag noch (für die anderen beiden Threadteilnehmer): An den Includes kanns hier nicht liegen...
    Hmmm. Muss ich bei Gelegenheit nachsehen.

    Aktuell hatte ich gecodet:
    Code:
    //#include <stdlib.h>           //
    //#include <avr/io.h>           //
    //#include <avr/interrupt.h>    //
    Und das gibt einige Fehlermeldungen, u.a.
    Code:
    ...
    In file included from ../Db030.c:68:0:
    D:\D_pro-fils\compu_MC\C2\Db030\..\..\CLib_01/uart0_16.h:29:25: error: expected ')' before 'bauddivider'...
    Ciao sagt der JoeamBerg

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    908
    Und das gibt einige Fehlermeldungen, u.a.
    Ich hänge mich mal jetzt nicht pauschal mit einer allgemeinen Gültigkeit aus dem Fenster.
    Fakt ist für mich allerdings, dass nach Anlegen eines neuen Projektes im jetzigen Microchip-Studio und auch in dem vorhergehenden AVR-Studio 7 für AVR-Projekte in der main.c bereits im Grundgerüst die io.h einbindet. Das mag aber auch in älteren Versionen (AVR Studio4 oder WinAVR) anders gewesen sein. (Erkenne bitte wohlwollend an - ich schränke es ein - mehr weiß ich auch nicht - ich bin nicht der brennende Busch - eigentlich schade, aber ich hab's mir schon lange selber eingestanden - eingestehen müssen, um es genau zu nehmen
    )

    Nichtsdestotrotz:
    Die io.h lädt hier in Abhängigkeit vom festgelegten Controllertyp nicht nur die entsprechende Headerdatei mit den Registern, Flags und Ihren Offsets, sondern auch über sfr_Def.h zumindest die Grunddatentypen, so dass man ohne weitere Ergänzung das vom TO vorgestellte Stückchen Code zum Compilieren bewegen kann. Man könnte vielleicht sagen: Wenn's um ein paar Schleifenzähler und die Registerzugriffe in der Peripherie geht, dann reicht die io.h aus.

    Es kommt ja beim TO auch kein Compile-Fehler. Nur der Debugger ist unwillig. Und da ist meine Erfahrung:
    Schalte zuerst die Optimierung ab.
    Geändert von Holomino (24.10.2024 um 15:41 Uhr)

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    23.10.2024
    Beiträge
    6
    Zitat Zitat von Holomino Beitrag anzeigen
    Zum jetzigen Zeitpunkt würde ich davon ausgehen, dass die beim Anlegen eines neuen Projektes voreingestellte Optimierungsstufe im Compiler Dein "i" einfach rauskickt. Die kannst Du aber in den Projekteigenschaften auf "None" stellen.
    Dazu:
    ALT+F7
    dann Karteikarte Toolchain
    auf <C oder C++>Compiler,
    dann Optimization
    da dann "None" auswählen.

    Das Ergebnis der Aktion kannst Du dann auch im Listing in den unterschiedlichen Optimierungsstufen anschauen und vergleichen. Listing und Map-File landen nach dem kompilieren im Solution-Explorer unter "Output Files" als *.lss und * map. Und damit arbeitet auch der Debugger.

    Kurz: Was in *.lss und *.map nicht drin steht, findet der Debugger nicht.

    (Also hast Du auch nix falsch gemacht)

    Nachtrag noch (für die anderen beiden Threadteilnehmer):
    An den Includes kanns hier nicht liegen. Man kann, wenn man so ein Projekt offen hat, den Weg von IO.h zu StdInt.h in den jeweilig eingebundenen Headern verfolgen.
    IO.h->sfr_Def.h->IntTypes.h->StdInt.h.
    Entsprechend taucht die StdInt.h auch nach dem Kompilieren in den "Project Dependencies" auf, ohne dass man sie jemals selber direkt eingebunden hat.

    Macht nix, ich will nicht klugscheißern, aber vielleicht habt Ihr was mitgenommen.
    Vielen herzlichen Dank. Das hat mein Problem gelöst.
    Auch danke an den beiden anderen Teilnehmern.

    Viele Grüße,

Ähnliche Themen

  1. Entwicklungsumgebung Microchip Studio (Atmel Studio 7) - Setup für atmel2560
    Von whatswrong im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 23.12.2020, 08:31
  2. Microchip Frust
    Von Siro im Forum PIC Controller
    Antworten: 14
    Letzter Beitrag: 28.02.2016, 03:21
  3. PICkit1 von Microchip
    Von sbreu23s im Forum PIC Controller
    Antworten: 7
    Letzter Beitrag: 20.04.2005, 01:35
  4. HCF 4020BE was ist das für Microchip?
    Von MischaMV im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 26.03.2005, 17:07
  5. Variablendefinition mit char anstatt int ?!
    Von bewild im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 30.09.2004, 08:11

Stichworte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress