Forum: Compiler & IDEs AVR Studio Realisierung master - slave


von stefen b. (Gast)


Lesenswert?

Hallo,

ich realisiere mit AVR Studio 5 beta ein master - slave programm. Das 
Slave Programm ist soweit fertig, nun möchte ich den master 
fertigstellen. Hier beginnt aber mein Problem. Ich möchte nicht ein 
neues Projekt anlegen. Da master und slave die gleichen Methoden 
verwenden.
Da diese aber beide main() haben, kann ich die beiden auch nicht 
verwenden.
Funktioniert sowas wie wenn ich master mit main() compiliere, dann 
benötigt er slave nicht und umgekehrt.

Mein Problem ist halt ich möchte kein neues Projekt anlegen. Ist sowas 
möglich, oder wie kann man es vielleicht anders lösen?

Gruß
Stefen

von Andreas W. (geier99)


Lesenswert?

stefen b. schrieb:
> Mein Problem ist halt ich möchte kein neues Projekt anlegen. Ist sowas
> möglich, oder wie kann man es vielleicht anders lösen?

Hmm, spontan würde mir folgendes einfallen:

....
#define MASTER
//#define SLAVE

#ifdef MASTER
...
 code für den Master
#endif

#ifdef SLAVE
 ...
 code für den Slave

#endif


Somit musst Du nur das entsprechende Makro aktivieren, um zwischen 
MASTER und SLAVE umzuschalten.

Bye
 Andreas

von Peter D. (peda)


Lesenswert?

stefen b. schrieb:
> Mein Problem ist halt ich möchte kein neues Projekt anlegen.

Warum nicht?
Magst Du keine einfachen und übersichtlichen Lösungen?

Ein neues Programm gehört immer auch in ein neues Projekt.

Microsoft wird Word und Excel ja auch nicht in einem Projekt entwickelt 
haben, nur weil einige Funktionen gleich sind.


Peter

von Werner A. (homebrew)


Lesenswert?

Lager doch gemeinsame Funktionen in "include files" aus. Die kannst du 
dann je nach Bedarf dazulinken...

von o.O (Gast)


Lesenswert?

Werner A. schrieb:
> "include files"

Werner A. schrieb:
> dazulinken

includes werden nicht gelinkt...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.