Ereignisgesteuerte Programmierung


7

Ich habe einige verschiedene Ereignisbibliotheken kennengelernt, die auf dem AVR und Andruino verfügbar sind, bin mir aber nicht sicher, welche die beste Option ist. Ich möchte mein Programm in einem ereignisgesteuerten Stil gestalten, bin mir aber nicht sicher, wie ich das anstellen soll.

Ich habe ein Projekt, das ich leicht halten muss, aber auch in diesem Programm habe ich mehrere Aktionen, die zu einem bestimmten Zeitpunkt ausgeführt werden können, dh digitale Eingänge werden ausgelöst, und ich muss Code ausführen, wenn diese Ereignisse auftreten.

Ich fand das QP-Framework vielversprechend, aber ich wollte einige Rückmeldungen von anderen erhalten, die diese Art von Bibliothek möglicherweise bereits verwendet haben und möglicherweise einige Beispiele und möglicherweise einige Erfahrungen liefern können.

Eine andere Seite, die ich hier gefunden habe und die alle möglichen Bibliotheken auflistet


2
Cosa muss die umfassendste von allen sein, die ich kenne. Erstaunlich leistungsstark und voller Treiber für alles, was Sie sich vorstellen können. Es ist eine ganz andere Art, das Arduino zu programmieren - Sie müssen alles verlernen, was Sie wissen;)
Majenko

@Majenko Ich hatte nach der OOP-Programmierung gefragt ( arduino.stackexchange.com/questions/17964/… ). Behandelt Cosa das Problem mit der dynamischen Zuweisung von Speicher?
Andy Braham

Es sind so ziemlich alle statischen Objekte.
Majenko

2
@Andy Braham, wenn ich zu Majenkos Aussage hinzufügen darf: Es sind so ziemlich alle statischen Objekte, was eine gute Sache ist. Wie im OOP-Thread angegeben, ist dynamischer Speicher auf kleinen AVRs keine gute Wahl. (Es ist etwas, das Sie nicht lernen müssen.) Neben dem Determinismus ermöglicht die statische Bindung auch fantastische Optimierungen der Kompilierungs- und Verknüpfungszeit.
Slash-Dev

Ist der Code, der ausgeführt werden muss, unterbrechbar? Wie viel Latenz können Sie tolerieren?
Dave X

Antworten:


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.