Re: Fehler beim auslesen der Counterports in Verbindung mit mehreren Treads Kategorie: Programmierung (von André H. - 21.09.2003 9:35) | |
Als Antwort auf Fehler beim auslesen der Counterports in Verbindung mit mehreren Treads von Volker - 18.09.2003 20:23
| |
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. > Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: Re: Fehler beim auslesen der Counterports in Verbindung mit mehreren Treads (von Volker - 29.09.2003 20:49) |