Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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
Ich nutze:
C164CI-ControllerBoard, eigenes Board, OSOPT V3.0, OSOPT V3.1
> 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)