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> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > Hallo Ulli, > > das ja einfach genial. > > Die CC Pro bietet doch erheblich mehr als eine CC1. > > Die Mühe des Umstiegs lohnt sich. > > > > Ich möchte noch einmal auf mein Beispiel zurückkommen. > > Das heist also, jeweils am Anfang und am Ende eines Kommunikationsblocks > > setzt man ein Thread_lock in jedem thread, wenn ich das richtig verstanden habe. > > > > Frage: Ist es in jedem Fall ausgeschlossen, dass sich dann 2 threads gegenseitig blockieren, > > wenn im Multithreading gleichzeitig der Aufruf entsteht? (wirklich gleichzeitig geht ja nicht,oder?) > > Das passiert wohl nur in 1 : 1 Mio Fällen rein zufällig. > > (Die gefüchteten Softwarefallen. "Ein halbes Jahr lief die Anlage störungsfrei. > > Dann stand Sie plötzlich. Nach Reset ging wieder alles. Keiner weis warum" > > > > > > Was passiert mit einem parallel laufendem Interupt z.B. 20 ms Timerinterrupt. > > > > A Der Interupt wird in jedem Fall ausgeführt auch bei thread_lock > > Ein Interrupt hat immer Vorrang. > > Gruss Peter > > > > > B Der Interrupt wird gestoppt > > > > B1 Timer hält an bis thread unlock. Danach läuft Irq servive Routine weiter > > B2 Timer läuft weiter > > B21 unlock vor Timerende --> Restzeit für Irq service wird ausgeführt > > B22 unlock nach Timerende --> Irq service wird nicht mehr ausgeführt > > > > C Das Interruptsystem wird gestoppt. Nach unlock wrid der nächste 20ms Tick > > dann wieder ausgeführt. > > > > Viele Grüsse > > Ellen > > > > > > > > > > > > > > > > > > > > > > > > Ich habe eine weiterführende Frage zum IIC Bus an die Experten dieses Forums. > > > > Wie verhält sich das Multithreading, wenn gemeinsame Resourcen verwendet werden? > > > > > > > > Beispiel: > > > > Thread1 fragt eine IIC Bus Tastatur ab > > > > Thread2 bedient einen 1 Wire Converter DS 2482 > > > > Thread3 macht Ausgaben an ein IIC Display > > > > > > > > Wie wird ein Bus Konflikt auf dem IIC Bus gelöst? > > > > Oder kann der garnicht auftreten? > > > > > > > > > > > > Gruß > > > > Ellen > > > > > > Hallo, > > > > > > du musst dabei den Thread mit Thread_Lock() sperren, damit kein > > > anderer Thread auf den I2C-Bus zugreifen kann. > > > > > > Thread_xyz() > > > > > > Thread_Lock(1) 'Threading sperren > > > > > > macht was auf den I2C-Bus... > > > > > > Thread_Lock(0) 'Threading wieder freigeben > > > > > > End Sub > > > > > > > > > Grüße Ulli