Forum: Compiler & IDEs Zusätzliche Defines in ioxxx.h


von MarkusB (Gast)


Lesenswert?

Hi,
ich bastle gerade an SPI rum. Bei SPI muss man leider selbst dafür 
sorgen das die entsprechenden Ports als Ausgang definiert werden. Leider 
sind die  SPI Ports nicht immer an den gleichen Pins.

Es wäre hilfreich wenn in den ioxxx.h Files Definitionen in dieser Art 
vorhanden wären.
1
#define  SPI_PORT  PORTB
2
#define  SPI_MISO  PB0
3
#define  SPI_MISO  PB1
4
.
5
.

Wäre sowas möglich? Also ich meine, ob man sowas generell in die Files 
aufnehmen könnte. Wenn ich das selber mache bringt das wenig.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ich setze mal ungeprüft voraus, dass du nachgeschaut hast, dass es in 
der avr-libc noch nichts ähnliches gibt.

Mein Vorschlag ist: Du kannst eine spi.h bereitstellen und darin die 
Definitionen machen. Du bekommst ja das Makro MCU für den Typ und kannst 
dadurch den passenden Port und dessen Pins zuordnen. Bei unbekannter MCU 
kannst du einen #error schmeissen. Ausserdem könntest du in dieser spi.h 
dann Prototypen für deine Libraryfunktionen unterbringen etc. das würde 
man dann so benutzen wie eine uart.h oder eine lcd.h...

Ich kenne mich mit der offiziellen Entwicklungsstrategie von avr-libc 
auch nicht aus. Ich denke, wenn sich deine Library bewährt, fliesst es 
vielleicht in die nächste, übernächste ... avr-libc ein? Mit dem 
Vorschlag oben wärst du sicher schneller "auf dem Markt".

von MarkusB (Gast)


Lesenswert?

Ja, ich hab gesucht, aber nichts vergleichbares gefunden.

Klar, da es die Möglichkeit nicht gibt muss ich die ganzen Defines in 
der spi.h machen, aber eben genau das würde ich damit eben vermeiden. 
Und wenn ein neuer Controller dazukommt würde es automatisch auch mit 
dem funktionieren

von Stefan B. (stefan) Benutzerseite


Lesenswert?

MarkusB wrote:

> Klar, da es die Möglichkeit nicht gibt muss ich die ganzen Defines in
> der spi.h machen, aber eben genau das würde ich damit eben vermeiden.
> Und wenn ein neuer Controller dazukommt würde es automatisch auch mit
> dem funktionieren

Das ist nicht sicher: Es müsste ja einer hingehen und kontrollieren, ob 
die #defines für die SPI_... bei dem neuen AVR richtig sind. Du hoffst, 
dass das die avr-libc MAintainer sind ;-) Ich würde das dem Anwender 
aufhalsen.

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.