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

Re: Fehler beim auslesen der Counterports in Verbindung mit mehreren Treads Kategorie: Programmierung (von Volker - 29.09.2003 20:49)
Als Antwort auf Re: Fehler beim auslesen der Counterports in Verbindung mit mehreren Treads von André H. - 21.09.2003 9:35

Hallo Andre´,

wie viele Impules es sind kann ich im Momment nicht sagen. Ich habe aber das ganze Programm in einen
Thread kopiert und siehe da jetzt wird bis Geschwindigkeiten von 160 Km/h kein Impuls verschluckt.

Es muss also irgend ein Fehler in der Programmstrucktur gewesen sein ? Was war da falsch ?

Den Quelltext hatte ich ursprĂĽnglich mitgeschickt...

GruĂ? und Danke im Voraus

Volker Thom





> Hallo Volker,
>
> Bis zu wieviele Impulse pro sek. kommen denn am Counterport an ?
> Es wird wahrscheinlich an den Interrupt-Prios zwischen dem CAN-Bus-Interface
> und den external-Interrupts (P1H.0 - 3) liegen.
>
> MfG André H.
>
>
> > Hallo CC2 Anwender,
> >
> > ich habe Probleme mit Impulsverlusten am Zählerport 0.
> >
> > Mein Programm lieĂ?t in einem Thread Geschwindigkeitsimpulse vom CAN,
> > addiert diese auf und gibt sie am externen LCD aus.
> >
> > Im zweiten Thread lieĂ?t es Geschwindigkeitsimpulse von der RS485-Schnittstelle
> > aus und addiert diese genau so wie in Tread 1 auf und gibt sie am externen Display aus.
> > Achtung, dieser Thread läuft noch nicht, wira auch nicht mit run gestartet.
> >
> > Im dritten Thread lie�t es Digitale Impulse vom Zählerport 0,
> > summiert sie auf und gibt sie wie die beiden anderen Threads am externen Display aus.
> >
> > Der main-Thread erledigt initialisierungen und startet die anderen Threads.
> >
> > Der CAN- und der RS-Thread sind aktiviert.
> > Werden nur CAN-Impulse gelesen, werden diese verlustfrei gezählt.
> > Werden nur Digitalipulse gelesen funktioniert das Zählen ebenfalls verlustfrei.
> >
> > Das Problem:
> >
> > Werden gleichzeitig CAN und Digitalimpulse empfangen und aufsummiert,
> > habe ich fast immer einen Verlust an Signalen vom Zählerport 0 (Thread 3).
> > Die CAN-Signale werden immer verlustfrei gezählt.
> >
> > Wie kann das sein ??
> > Ich lese doch nur den Zählport aus, das Zählen der Impulse läuft doch am Betriebssystem vorbei oder ?
> >
> > Ich vermute die Problematik im Multithreading, bitte um Hilfe.
> >
>


    Antwort schreiben


Antworten: