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, > > > > zu den neuen Zeitscheiben-Threads habe ich noch eine Frage, > > > > da mein Programm mit der IDE 2.12 nicht mehr läuft. > > > > Wie werden die Interrupts in dieses System eingeordnet. > > > > Mein Programm hat 3 Threads, den 10 ms Interrupt und einen externen Interrupt, der im 1s- Rythmus > > > > angesteuert wird. > > > > Gruss > > > > manfred > > > > > > Hallo Manfred, > > > die Interrupts laufen wie bisher. Wenn Dein Programm nicht mehr läuft, hast > > > Du auch die "#thread" Anweisungen in Dein Programm eingefügt? Seufz, ich hatte ja > > > gehofft, das das Popup während der Installation gelesen wird, dort wird auf > > > die Änderung hingewiesen. > > > > > > Gruss Peter > > > > Hallo Peter, > > meine "#thread"-Anweisungen: > > #thread 0, 0, 50 // Rest vom RAM, 500 ms Zyklus > > #thread 1, 128, 1 // 128 byte RAM, 10 ms Zyklus > > #thread 2, 128, 1 // 128 byte RAM, 10 ms Zyklus > > Werden die Interrupts ohne Unterbrechung durch die Threads ausgeführt? > > Mir ist unklar welche Prioritäten die Interrupts haben. > > Kannst Du was dazu sagen? > > Gruss Manfred > > Interrupts können nicht unterbrochen werden. INT_0 hat die höchste Priorität, INT_TIM3OVF > die niedrigste (siehe Interrupt Tabelle). Interrupts arbeiten aber auf Bytecode Ebene, wenn > der aktuell laufende Bytecode länger braucht (z.B. floating point ops) dann kann das > länger dauern. Auch Bibliotheksaufrufe sind atomar, z.B. ein AbsDelay(2000); unterbricht > Multithreading und Interrupts für 2000ms. > > Bei einem Zeitscheibenwert von 10ms kann es passieren, das wenn der aktuelle Bytecode 9ms > benötigt, der neue Thread nur 1ms läuft, da seine Zeitscheibe abgelaufen ist. Daher für > Threads lieber Werte ab 20ms und größer angeben. > > Gruss Peter