Hi, ich "klaue" in letzter Zeit sehr viel fertig programmiertes aus dem Internet, für eigene Basteleien. Ich verwende jedoch im Gegensatz zu den Personen die den ganzen Code Programmieren eigentlich nur den Atmega8. Aktuell wollte ich ein Projekt welches mit dem ATtiny2313 arbeitet für den Atmega8 compilieren. Natürlich gab es Fehlermeldungen und das große Suchen und Anpassen kann beginnen. Dabei ist mir folgender Gedanke und folgende Frage gekommen: - Gibts da eine Tabelle/Anleitung/Leitfaden in dem drinnensteht wie man die Timer für welchen Controller anpassen muss... - Wäre es nicht möglich den Zugriff auf die Timer über Macros laufen zu lassen welche dann je nach Controller den Zugriff anpassen? - Oder packt ihr da die Datenblätter aus? Wäre mal Interesannt zu Erfahren ob ich mit meinem Problem allein bin und ob es da eine gewissen Resonanz gibt. Falls eine große Nachfrage hier entsteht, wäre dies hoffentlich eine Anregung für die Personen die so etwas entwickeln könnten. Auserdem würde sich dann da hoffentlich eine Standardisierung bilden. Wenn die Macros gut sind würde dies der Entwicklungszeit und Controllerunabhänigkeit zugute kommen. Mfg Ulrich
Es gab mal die Idee, eine Datei <compat/io.h> oder sowas zu bauen, die Derartiges (nicht nur für Timer) implementiert. Es bräuchte dafür aber einfach mal jemanden, der das tut. Der Anspruch, das für möglichst viele AVR-Typen hinzubekommen, macht daraus ein ziemlich großes Unterfangen... > Oder packt ihr da die Datenblätter aus? Meist hat man sowieso genügend Kleinkram, der von der konkreten Hardware abhängt, das fängt ja schon bei der Verdrahtung des Boards an (welches Signal generiert einen Extern-Interrupt etc.). Da kommt man, wenn man das portabel gestalten will, kaum um eine Art HAL (hardware abstraction layer) herum. Klingt hochtrabend, wird aber aus Effektivitätsgründen oft genug in Makro-Form implementiert, dadurch kostet es, wenn man es richtig macht, keine Laufzeit. Unterschied zu deinem Vorschlag: man abstrahiert genau das, was man fürs konkrete Projekt braucht, und nicht ,,alles'', was ,,alle'' AVRs bieten. Damit bleibt der Rahmen überschaubar.
Da habe ich ja gleich den richtigen Erwischt ;-) Eine HAL für alles halte ich auch übertrieben und nicht realisierbar(damits mit jedem controller läuft) z.B.: Für jeden verwendeten Pin habe ich ein Macro zum auslesen und setzen. Wenn ich dann auf einen anderen Controllerumziehe ist das eine kleine änderung in der *.h und alles läuft wieder. Sowie bei den Ausgängen wäre es halt bei den Timern auch geschickt. Mir würde es schon reichen wenn es irgendein Macro gibt bei dem man dann nur noch die Anpassung an einen neuen timer in der *.h machen muss. So wie bei den IOs halt auch. Vielleicht fällt da jemandem eine kreative Lösung ein wie man so ein Macro gestalten könnte...
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.