neue AVR8-Bibliothekensammlung

Gast #4479645
Lesenswert?
• ▲
▼
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 #4479655
Lesenswert?
• ▲
▼
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?
#4479663
Lesenswert?
• ▲
▼
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 #4479670
Lesenswert?
• ▲
▼
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 #4479681
Lesenswert?
• ▲
▼
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

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.