Datum:
hallo, erstmal vielen danke für alle beiträge hier, das ist alles sehr interessant :-) ich dachte, ich revanchiere mich mal, und poste auch mal was kleines feines... ich bin für jeden kommentar dankbar (optimierungen, verbesserungen, vorschläge) das hier ist ein kleiner multitasking scheduler. ein beispiel sagt mehr als 64738 worte, also hier mal ein kleines (sinnloses) sample:
#include "tasks.h" TaskSignal s; Task ts; void fs() { unsigned char d = 0; for (;;) { taskWait(&s); PORTB = d++; } } Task tw; void fw() { unsigned char d = 0; for (;;) { PORTB = d--; taskSignal(&s); } } int main() { taskCreate(&ts, fs, TaskPrioHighHigh); taskCreate(&tw, fw, TaskPrioHighHigh); taskSwitch(); return 0; } |
auch zu finden unter: http://www.avrfreaks.net/index.php?module=Freaks%2...
Datum:
Zum Link: "You must log in to access this area" Karoly
Datum:
Ja und? Dann meldet man sich eben an, um Zugriff zu haben. Da lohnt sich. MfG Paul
Datum:
Angehängte Dateien:da steht eh nix anderes drin, ich wollts nur auch den englisch sprechenden avr-fans unter uns verfügbar machen :-) ich hab gesehen, dass ich ja gar kein attachment attached habe, sorry, hier isses...
Datum:
@Paul: Es ist natürlich kein Problem, ich wollte bloß sagen, wenn man hier was veröffentlich macht, dann bitte wirklich um einen funktionierenden, "öffentlichen" Link einfügen. @Günter: Danke sehr für Attachment! Karoly
Datum:
hallo, 50 downloads (und bei avrfreaks.net nochmal ca. 80) sind ja schon schön, und "no news is good news", d.h. keiner hat fehler entdeckt ?!? aber hat denn keiner irgendwelche anregungen wünsche oder verbesserungen ? wenns alles perfekt geht, freut mich das, aber zumindest positives feedback für mein ego wäre schön :-))) cu, gg
Datum:
Hallo Günter, Habe auch geladen, aber noch nicht getestet (morgen fahre ich nach Irland). Nach dem Urlaub kann ich es evtl. "besser" durchlesen, und/oder testen. Zum ersten Blick ist es gar nicht schlecht. :))) Karoly
Datum:
Günter Greschenz wrote: > 50 downloads (und bei avrfreaks.net nochmal ca. 80) sind ja schon schön, > und "no news is good news", d.h. keiner hat fehler entdeckt ?!? Naja, ich denke, die meisten gucken wien Schwein ins Uhrwerk und sagen deshalb nichts. > ein beispiel sagt mehr als 64738 worte, also hier mal ein kleines >(sinnloses) sample: Würde ich daher nicht zustimmen. Ne Erklärung (kann ruhig weniger als 64738 worte sein) und ein sinnvolles Beispiel wären äußerst hilfreich bei einem so komplizierten Thema. Wenns ein taskCreate gibt, muß es dann nicht auch ein taskAnnihilate geben ? Peter
Datum:
hallo peda, ja, hast schon recht, eine kleine docu wäre schon angebracht... leider hab ich nur noch 3 tage urlaub und die sind schon verplant :-) ich denke ich komm demnächst mal dazu. eine (mini) docu steht ja in den sourcen selbst drin, die werde ich dann mal erweitern... kurz zum thema "taskAnnihilate": da das für kleinst-systeme gedacht ist, die selten bis gar nicht in die verlegenheit kommen tasks dynamisch zu erzeugen und zu killen, habe ich nur ein create implementiert. das design eines programmes sollte also schon am anfang feststehen. aber ich bin da ja zum glück recht flexibel :-) wenn jemand den dringenden bedarf nach dynamischen tasks hat: info zu mir ! ich mach mir dann mal gedanken. allerdings isses (denk ich) dann nicht so einfach, mein ziel (möglichst kleiner speicherbedarf) beizubehalten. dynamisch hört sich für mich an wie "malloc" und "free", und das habe ich bewusst aussen vor gelassen. cu, gg
Datum:
hallo, ich habe den scheduler in mein anderes project (AvrWiz: Beitrag "AVR Code Wizard") eingebaut, ist evtl. ganz hilfreich (dort wird die benutzte speicher belegung berechnet und angezeigt...) cu, gg