Re: Probleme beim Aufruf mehrerer Threads Kategorie: Programmierung (von André H. - 16.04.2002 14:38) | |
Als Antwort auf Re: Probleme beim Aufruf mehrerer Threads von Thomas Einzel - 16.04.2002 14:08
| |
Hallo Thomas, > > Das LCD und die LEDs haben dabei einige Daten/Steuerleitungen > > der Schieberegister gemeinsam. Sobald man mit mehreren Threads versucht > > auf diesen Bereich (LCD, LEDs, Relais) zuzugreifen, vermischen sich die Daten > > und man hat einen prima Zufallsgenerator. :-) > > So meine Beobachtung und Vermutung der Ursache (wenn ich die Thread richtig aufrufe?) > Deine Vermutung ist richtig, und die Threads rufts Du auch richtig auf. > > Versuche ein explizites capture für die LCD, LED und Relais Routinen zu setzen. > > dann sollte dieses Problem teilw. oder ganz verschwinden. > > Da reichen meine C2 Kenntnisse noch nicht aus... :-( > Hier ein kleines Beispiel für ein Explizites capture, um zu vermeiden, da� zwei Funktionen "gleichzeitig" aufgerufen werden. byte flag; thread a { capture flag; function1(x,y,z) ; release; } thread b { capture flag; function2(x,y,z) ; release; } Das würde vorerst reichen, damit bei Dir der Zufallsgenerator aufhört. :-) > > Es wäre trotzdem nett, wenn du mir die Systemmodule senden würdest. > > Dann könnte ich evtl. diese Module patchen, um dieses Problem zu > > beseitigen. > > Prima! Guck mal in deinen Posteingang ;-) Danke, habe ich erhalten. > Ich kenne die interene Schaltung nicht genau , kann mir aber kaum vorstellen, > dass die Ansteuerung des Schieberegisters ohne weiteres Zwischenspeichern > o.ä. funktioniert, wenn das timing durch einen anderen Thread durcheinander > kommt. Da scheint das Durcheinander vorprogrammiert (sonst bräuchte man kaum > eine CLOCK Leitung) > Das haben die nicht gemerkt ?!? Tja, ich hab' jetzt eine halbe Stunde lang über das CTC schmunzeln müssen.:-))) Das CTC hat eindeutig die Module nicht gemeinsam getestet, sonst wäre das sofort aufgefallen !! Das sind mal wieder einige Minuspunkte für's CTC. :-) Man merkt da� Martin Förster nicht mehr für's CTC arbeitet. :-( So ganz nebenbei: Bei meiner 4MBit RAM-Erweiterung verwende ich beim Port-Interface auch Schieberegister, die fast genauso angesteuert werden. Aber im gegensatz zum CTC war mir von anfang an klar, da� ich dann die LCD-Routinen anpassen mu�, um so etwas zu vermeiden. :-) Ich werde im laufe der Woche die Module patchen und dann auf meine Site stellen. Gut, da� ich Schieberegister auf Lager habe, dann kann ich's wenigstens mit der Unit testen. :-)) MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: Re: Probleme beim Aufruf mehrerer Threads (von Thomas Einzel - 17.04.2002 10:14) |