neue AVR8-Bibliothekensammlung

Gast #4479645
Ich schreibe gerade (nebenher) eine Bibliothekensammlung für Atmel's 
8Bit AVR-Familie.

Die Sammlung ist noch sehr klein und in vielen Teilen noch nicht fertig 
(in einigen sogar gar nicht(!)).

Ich will dabei vor allem die Entwicklung von kleineren Projekten 
beschleunigen, d.h. es gibt unter anderem eine Addressierung über 
Pinnummern usw.

Unterstützt werden momentan nur Atmega8(ungetestet) und 
Atmega168(getestet) pinkompatible chips sind leicht hinzuzufügen.

Damit nicht nur ich etwas davon habe wollte ich hier mal bescheid geben, 
vielleicht nützt es jemandem.

Ich freue mich jederzeit über Mitarbeit/PullRequests!

Wichtig ist dabei:

 * Alles muss gcc-kompatibel sein
 * Möglichst weder C++ oder Assembly
 * Änderungen immer kennzeichnen
 * Möglichst generisch halten

Worauf ich nicht geachtet habe:

 * Performance: der Code soll auch lesbar sein
 * Kompatibilität zu anderen Bibliotheken
 * Leider auf Dokumentation, muss ich noch nachholen


mein github: https://github.com/daknuett/avr-stdlib
Gast
Sowas hat man schon erfunden, nennt sich Arduino...!

Mal im ernst, ich habe z.B. für ne Hand voll LCDs n paar Treiber, 
ansonsten schreibe ich die Kernfunktionen immer gern neu. Nur noch 
Stumpf fertige Funktionen zusammen klicken? Wo bleibt da der Spass?
Mhh... auf den ersten Blick dann doch arg durcheinander. Beispiel 
pins.c:
Einmal heißt es "get_pin" einmal "analog_get". Warum nicht einheitlich? 
Manchmal sind die Defines am Anfang der Datei, manchmal mittendrin. 
Generell sieht das nach einer sehr unerfahrenen Arbeit aus..

Gruß
Gast
Ich weiss, dass es Arduinos gibt... ich hab auch ein paar.

Ich habe allerdings schon so viele SOOOO(!!!) schlechte "schnelle" 
Kernfunktionen gesehen.. so Sachen wie
1
#define write_pin13() PORTB |= (1 << PB4)

Es ist auch nicht stumpf zusammenklicken, sondern linken :-P.
(wieso klicken?)

Ausserdem kann ich mir nicht für jedes Experiment gleich alles neu 
schreiben (besonders UART usw.)
Abgesehen davon zwinge ich ja niemanden: Wer nicht will der hat schon. 
Wenns jemandem hilft freuts mich auch.

Aber wie gesagt, wenn bei einem Thread von einem Anfänger jemand anfängt 
mit
1
 #define
, dann sollte man sich schon überlegen.

Ich glaube ich habe gerade angefangen die Preprocessortrolle zu füttern 
:-\.
Gast
Dennis S. schrieb:
> Mhh... auf den ersten Blick dann doch arg durcheinander. Beispiel

Hmm ja. wie gesagt:
> vielen Teilen noch nicht fertig

refactoring usw muss ich halt noch machen.

Wo die defines sind ist nicht irgendwie:
 1. Es sind defines die überall wichtig sind => am Anfang
 2. Es sind defines die local wichtig sind => vor der Aktuellen Funktion
Und wieso?
=> Damit man nicht immer ein Define, das nur einmal (evtl zum 
Verständnis) genutzt wird am Anfang der Datei suchen muss!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.