mikrocontroller.net

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


Autor: MarkusB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.
#define  SPI_PORT  PORTB
#define  SPI_MISO  PB0
#define  SPI_MISO  PB1
.
.

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.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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".

Autor: MarkusB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.