Hallo alle zusammen, da ich neu mit dem Xmega angefangen habe wollte ich auch gleich eine neue UART Library die ein paar dinge korrigiert die mich genervt haben. Das mein Ringpuffer nur zweier Potenzen unterstützte. Das mann die Port Adressen immer Abändern musste wenn mann einen anderen UART benutzte. Kritik und Anregungen sind erwünscht aber auch Lob :) Ist noch eine Vorabversion soll später auch auf github veröffentlicht werden MFG Matthias
Matthias T. schrieb: > Kritik und Anregungen sind erwünscht aber auch Lob :) Variablen tut man nicht in Header-Dateien definieren tun. Nein das tut man nicht! Vernünftiger Zeilenumbruch in mässiger Zeilenlänge für die Leute die keine zwei Bildschirme haben wäre sinnvoll bzw wünschenswert. Es gibt Leute die haben mehr als nur das Editor-Fenster gleichzeitig im Blick. Stell dir auch vor du würdest Zeitung lesen (müssen) und ein Artikel würde mit seinen Zeilen über die ganze Seiten- breite gehen .... Matthias T. schrieb: > Das mein Ringpuffer Matthias T. schrieb: > Das mann die Port Adressen --> zweimal "dass" statt "das". Sonst wäre "mein" und "mann" ein Substantiv, und "mann" müsste "der Mann" sein.
Au Weia schrieb: > Variablen tut man nicht in Header-Dateien definieren tun. > Nein das tut man nicht! Und wie machst du in C auch anderen Klassen Variablen bekannt wenn nicht über den Header? Au Weia schrieb: > Vernünftiger Zeilenumbruch in mässiger Zeilenlänge für die > Leute die keine zwei Bildschirme haben wäre sinnvoll bzw > wünschenswert. Es gibt Leute die haben mehr als nur das > Editor-Fenster gleichzeitig im Blick. Willkommen im Jetzt. Inzwischen sind ja so 16/9 Bildschirme üblich, 4/3 ist so 2000 ... ;)
M. K. schrieb: > Inzwischen sind ja so 16/9 Bildschirme üblich, 4/3 > ist so 2000 ... ;) auch auf meinem 16:9 bildschirm bekomme ich keine 189 in der ide dargestellt, wenn da noch zusätzlich projektstruktur und weitere fenster zu sehen sind.
M. K. schrieb: > Und wie machst du in C auch anderen Klassen Variablen bekannt wenn nicht > über den Header? Variablen wenn schon mit "extern". Sonst gibt's Linker Errors. Ist aber ziemlich unsauber, weil so externer Code direkt auf die internen Daten der Library zugreifen kann, und die Library beim Zugriff keine Überprüfungen o.ä. machen kann. Das "extern" an Funktionsdeklarationen ist hingegen komplett überflüssig. Es heißt "receive" und nicht "recive". Warum haben manche Variablen einen Unterstrich am Ende und andere nicht?
M. K. schrieb: > Und wie machst du in C auch anderen Klassen Variablen bekannt wenn nicht > über den Header? C kennt keine Klassen!
Sven A. schrieb: > auch auf meinem 16:9 bildschirm bekomme ich keine 189 in der ide > dargestellt, wenn da noch zusätzlich projektstruktur und weitere fenster > zu sehen sind. Hm, automatischer Zeilenumbruch sollte heute eigentlich jede IDE beherrschen...aber ja, man könnte es etwas schöner strukturieren. Dr. Sommer schrieb: > Variablen wenn schon mit "extern". In den Code selbst hatte ich nicht reingeschaut. A. schrieb: > C kennt keine Klassen! Stimmt, das war ne blöde Wortwahl von mir.
Au Weia schrieb: > Matthias T. schrieb: >> Das mein Ringpuffer > > Matthias T. schrieb: >> Das mann die Port Adressen > > --> zweimal "dass" statt "das". > > Sonst wäre "mein" und "mann" ein Substantiv, und "mann" müsste > "der Mann" sein. Für jemanden der sich traut so einen Satz zu schreiben: Au Weia schrieb: > Variablen tut man nicht in Header-Dateien definieren tun. machst du den Mund aber ganz schön weit auf ;-)
PS: Include-Guards in C(++) Source Files sind überflüssig:
1 | #ifndef UART_C_
|
2 | #define UART_C_
|
Beitrag #5511541 wurde von einem Moderator gelöscht.
Danke für die hilfreichen Tipps, sie sind schon umgesetzt worden :) EDIT: Vlt programmiere ich eine SPI lib nach dem gleichen Schema MFG Matthias
Beitrag #5512526 wurde von einem Moderator gelöscht.
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.