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
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ß
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 :-\.
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!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.