Forum: Mikrocontroller und Digitale Elektronik Probleme mit Threads MicroC


von gh3000 (Gast)


Lesenswert?

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
  }
 }

von ich (Gast)


Lesenswert?

Lern erstmal richtig schreiben. Diese Rechtschreibung , da wird einem 
übel.

von Sven P. (Gast)


Lesenswert?

Mach dich mal schlau zum Thema 'Mutual exclusion' und 'Atomare 
Instruktionen'.

von Compiler Error (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.