Re: noch mal threads Kategorie: Programmierung (von nitraM - 19.11.2010 13:16) | ||
Als Antwort auf noch mal threads von ChristianS - 19.11.2010 9:42 | ||
| ||
> Hallo, > ich komme mit meinem zeitkritischen thread nicht weiter. Ich habe nun die Prios von allen > threads auf "8" gesetzt und den zeitkrischen thread (ir) auf prio 100, main läuft ganz normal. > Das Problem ist weiterhin, dass der thread "ir" es teilweise nicht mitbekommt, wenn man die > Lichtschranke schnell durchschreitet. > Vielleicht ist die cc2 auch überfordert, was ich mir aber nicht vorstellen kann, da das > Gesamtprogramm gerade mal 23k ist. Ich schätze es liegt an der Art der Programmierung. > Dehalb hier meine Routine, vielleich kann jemand etwas erkennen oder kann einen Tipp geben: > Hallo Christian, ich würde deine zeitkritische Sache erst einmal abspecken... Warum soll die Prüfen ob es Nacht ist??? Lass den Fred :-) laufen und mach nur was nötig ist... Wenn jemand die LS unterbricht setzt du eine globale Variable (LS_dunkel = 1), und wenn sie wieder frei ist setzt du eine weitere (LS_hell = 1) Die Auswertung machst du dann gemütlich in einem anderen Thread. Da kannst du den Wert auch wieder zurücksetzen (LS_dunkel = 0)... Eine Multiplikation eines Longwertes hat da auch nix zu suchen... Ich würde es so machen: wait ports.get(ir) // warten auf Unterbrechung global. time_dunkel=system.timer(); //Zeitpunkt der steigenden Flanke in globalen Variablen global.LS_dunkel = 1; wait ! ports.get(ir) // warten auf Freigabe global. time_hell=system.timer(); //Zeitpunkt der fallenden Flanke in globalen Variablen global.LS_hell = 1; ... Grü�e nitraM | ||
Antwort schreiben Antworten: Re: noch mal threads (von nitraM - 19.11.2010 13:26) Re: noch mal threads (von ChristianS - 19.11.2010 13:53) Re: noch mal threads (von nitraM - 19.11.2010 13:59) Re: noch mal threads (von ChristianS - 19.11.2010 14:11) Re: noch mal threads (von nitraM - 19.11.2010 14:08) Re: noch mal threads (von ChristianS - 19.11.2010 14:17) Re: noch mal threads (von Rainer - 13.01.2013 20:42) |