Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo, > > nach den ersten Programmierversuchen der CC2-Station war ich doch sehr erstaunt, dass bei einer multi-threading Anwendung die LED's wild durcheinander > blinkten, und die Relais klapperten, obwohl vom Programm nicht geschaltet. > > Den Fehler fand ich recht schnell. Die Relais, die LED's, die Beleuchtung der LCD und fuenf Ausgabeports werden ueber eine Variable bitweise gesteuert. > Diese Variable wird durch Funktionsaufrufe (z.B. station_io.LEDon() ) veraendert, > danach wird der Wert der Variablen in ein Schieberegister rausgetaktet. Dieses > Raustakten erfolgt durch statio_io.shiftout(). Diese Funktion (und auch alle > anderen CC2-Station Schaltfunktionen) ist meiner Meinung nach nicht > multi-threading faehig, weil nicht durch 'capture' geschuetzt. Der Zugriff > auf die Schaltvariable, die Schaltfunktionen und die shiftout-funktion > koennen beliebig unterbrochen werden. Das ist besonders interessant, wenn > man z.B. die LED's und Relais durchverschiedene Threads ansteuern > moechte. > > Ich finde es schade, dass der Ersteller (DIE HARD ???) der CC2-Station Zusatz-Routinen ueber multi-threading nicht nachgedacht hat. > Ich habe nun die leise Befuerchtung, dass ich saemtlichen Code der CC2-Station auf diesen Bug genau untersuchen muss. Stichproben > bei verschiedenen Funktionen der CC2-Station Zusatzmodule zeigen, > dass die Befehle capture/release ueberhaupt nicht verwendet wurden! > > Es gibt weiterhin im Modul station_lcd einen Fehler bei showdate(), die > Jahreszahl wurde hier fest auf 01 gesetzt! > > Die Module station_lcd, station_io, station_2wsm, station_plm und > station_twb sind wohl 'offizielle' Module, da sie im Handbuch der CC2-Station > mit ihren Funktionen aufgefuehrt sind. > > Meine Frage: sind bei den 'klassischen' Funktionen der CC2 (nicht Station) > auch solche 'Features' festgestellt worden. Auf den ersten Blick sieht es > fuer mich so aus, als ob diese Module 'sauber' sind. > > Zusatzinfo: Die CC2-Station Module stammen von der CD-ROM > "C-Control Utility Collection, Release 11/2001". > > Hix