Hallo, habe folgendes Problem: ich habe unter muC 2 threads laufen und versuche mit hilfe von aktivem warten einen wechselseitigen Ausschluss zu realiesieren. das funktioniert auch aber nicht immer, das heist bei Tests bei denen ich diesen wechselseitigen Ausschluss oft in Anpruch nehme, hängt sich der Prozessor auf und ich kann mir Logisch nicht erklären warum. System : Nios 2 Altera eval. Board. // habe die Funktionen jetzt mal etwas vereinfacht aber grundsätzlich siht es so aus. // prozess nummer 1 while (1) { while(interpreter_ready != 1){printf(":::::");}//warten //kritischer bereich sprintf(Plott,"%s",tbuf); for (o= 0;o< 1024;o ++) tbuf [o]= '\0'; // setzt den buffer zurück interpreter_ready =0; //nicht kritischwer bereich } // Prozezz nummer 2 while (1) { funk(); } char funk (void) { i++ if (Plott == '\0' ) { interpreter_ready = 1; //nicht kritischer bereich while (interpreter_ready != 0){ printf(".....");} ii= 0; // neue Daten stehen bereit return (Plott[ii]); // gibt aktuelles teichen zurück } }
Lern erstmal richtig schreiben. Diese Rechtschreibung , da wird einem übel.
Mach dich mal schlau zum Thema 'Mutual exclusion' und 'Atomare Instruktionen'.
Vielleicht ist Deutsch nicht seine Muttersprache? Darf man nicht so eng sehen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.