AVR Pin-Konfiguration externer Code/Headerfiles

OP #3218460
Lesenswert?
• ▲
▼
Hi,

ich habe gerade ein kleines Problem, ein paar Libraries sinnvoll in mein 
Projekt einzubinden, bei welchem ich zwei verschiedene Atmels und 
dementsprechend auch verschiedene Pinkonfigurationen verwende.

Erste Idee war (vereinfacht):
./master/main.c
./slave/main.c
./lib/…

In lib/ landen dann zB pfleurys LCD-Library und NRF24L01 Tutorial, 
eventuell mit leichten Anpassungen, erreichbar über -I../lib/ Allerdings 
bin ich dann darüber gestolpert, dass die in den Librarys fest per 
#define gesetzen Ports natürlich direkt in den .o landen, und ich keine 
Möglichkeit habe diese aus meiner main.c irgendwie passend zu setzen. 
Kann ja auch gar nicht funktionieren, da die Libraries (mit dem 
WinAVR-Makefile) standalone kompiliert werden und nur am Ende passend 
gelinkt.

Und nun stehe ich etwas auf dem Schlauch, wie ich dies am besten löse, 
ich will in den Libraries eigentlich nicht mit Variablen arbeiten, 
sondern schon "von extern" das ganze beim kompilieren beeinflussen.

Ich hoffe, es ist halbwegs klar geworden was ich erreichen will. Gibt es 
irgendeinen Weg, das halbwegs elegant zu bewerkstelligen?

Danke
Moritz
Gast #3218579
Lesenswert?
• ▲
▼
Hallo Moritz,

erstelle einen extra Header mit allen nötigen Einstellungen in deinem 
Projektordner, configlib.h oder so

In deinen Bibliotheken bindest du die Datei ein mit #include 
"configlib.h"

Eventuell musst du dann im Makefile noch einstellen, dass auch in deinem 
Projektordner nach Headern gesucht wird.
Irgendwas mit INCLUDES = -I".". Kenne mich mit makefiles leider nicht 
aus :/


Grüße Felix

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.