- LiFePO4 Speicher Test         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: LCD in C mittels WinAVR ansteuern zum x-ten mal

  1. #11
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Anzeige

    Praxistest und DIY Projekte
    Zitat Zitat von michaelb
    ...
    #include "lcd.c"
    Das ist allerdings Unsinn. Die lcd.c muss im Makefile angegeben werden und nicht per include eingebunden werden.

    MfG Kjion

  2. #12
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2004
    Ort
    In der Nähe von Esslingen am Neckar
    Beiträge
    706
    Hi Kjion,
    warum muss da im Makefile angegeben werden??
    Gruß Michi

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Karlsruhe
    Alter
    47
    Beiträge
    35
    Hi Kjion

    Hatte ich vorher schon im makefile drin. hab´s geändert.

    dankeschön

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Karlsruhe
    Alter
    47
    Beiträge
    35
    @Michi

    Ich kenne den Unterschied auch nicht. Im makefile hat man die Möglichkeit unter

    # List C source files here. (C dependencies are automatically generated.)
    SRC = $(TARGET).c lcd.c

    das file einzubinden.

    Macht bei mir aber keinen Unterschied ob ich das lcd.c im makefile oder direkt in meinem code einbinde.

    Gruß

    Henrik

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    31.07.2005
    Beiträge
    54
    @michaelb

    in c gibst du normalerweise nur die headerfiles von benötigten 'modulen' an, die implementationsfiles werden im makefile aufgeführt.

    => im makefile hast du dann mehrere c-files angegeben, die jeweils in ein object-file kompiliert und am schluss vom linker zusammengesetzt werden.

    der grund ist unter anderem folgender: ein #include kopiert den inhalt des angegebenen files in das file, in dem das include steht. wenn jetzt ein c-file mehrfach eingebunden wird, schmeisst dir der compiler warnungen/errors, weil funktionen und so mehrfach definiert sind. (das ist auch der grund, wieso im einem headerfile immer zuerst ein #ifndef lalala #define lalala ... steht)

    cu

    chris

  6. #16
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2004
    Ort
    In der Nähe von Esslingen am Neckar
    Beiträge
    706
    OK gute Erklärung!!
    Es hat bei mir aber auch so funktioniert!!
    Du schreibst
    wenn jetzt ein c-file mehrfach eingebunden wird
    da war bei mir noch nie der Fall! Es wurde nur einmal eingebunden nämlich nur am Anfang des Codes!!
    Gruß Michi

  7. #17
    Benutzer Stammmitglied
    Registriert seit
    31.07.2005
    Beiträge
    54
    jo

    folgender fall: du hast die files main.c, serial.c und utils.c

    wenn du jetzt sowohl in main.c als auch in serial.c utils.c einbindest, sollte der compiler eigentlich reklamieren:

    main.o(.text+0x16):utils.c:30: first defined here
    serial.o(.text+0x74): In function `lalala':
    utils.c:46: multiple definition of `lalala'

    cu

    chris

  8. #18
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2004
    Ort
    In der Nähe von Esslingen am Neckar
    Beiträge
    706
    Ja OK du hast gewonnen!!
    Habe es verstanden!
    Gruß Michi

  9. #19
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    es gibt noch ein c-programm, wo die routinen für so eine lcd nur ein bruchteil so gross ist wie diese und man versteht als anfänger den programmcode zum ansprechen der internen register um sie dann selber leichter ändern zu können.
    wo diese stand, weiss ich nicht mehr.
    kann sie aber mailen bei interesse.
    "pebisoft@arcor.de"
    mfg pebisoft

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress