Für dieses Forum muß Javascript im Browser aktiviert werden!
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> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Detlef, > > > Ja, ich frage alle Eingänge in einer Schleife ab. Wartezeiten gibts da gar nicht. > > Ich habe sogenannte "Module" zusammengelötet, in denen jeweils 1-3 "Max7311" verbaut sind. > > Diese Module haben konfigurierbar 3-12 Eingänge. Für diese "Module" habe ich "Treiber" geschrieben, > > also Funktionen zum Initialiseren, zum Auslesen und zum Beschreiben. > > Beim Hochfahren des Systems wird versucht alle theoretisch möglichen Module zu initialisieren, > > die erfolgreich Initialisierten stehen in einer Variable. Diese Variable ist der Parameter für den Thread > > zum Auslesen der vorhandenen Module. Hier wird dann reihum der Treiber zum Auslesen mit den > > Adressen der vorhandenenen Module ausgeführt wobei jedesmal ein INT zurückkommt. Wenn in > > diesem INT was steht, wird ausgelesen, welches Bit "high" ist. Aus der Reihenfolge, welches Modul, > > welches Bit ergibt sich welcher Schalter aktiv ist. Dieses wird in ein Array geschrieben. Dieses Array > > akzeptiert bis zu 20 aktive Schalter gleichzeitig. Werden es mehr wird ignoriert, ist aber noch nie > > vorgekommen. > > Ja, da liegt auch mein Denkfehler. Bausteine werden halt Adressweise ausgelesen. Macht vereinfacht > gesprochen eine Anweisung und man hat 16 aktuelle Werte auf einem Streich. So wie beim tapferen > Schneiderlein, obwohl der hatte nur 7 . . . > > Markus hatte auch von einem Integer beim max geschrieben, wie sieht so ein zurück bekommender > Integerwert eigentlich aus? > > > > > Beim Zusammenlöten meiner Module habe ich das Interruptsignal nicht mit rausgeführt. Außerdem > > hatte ich teilweise nur 4-adrige Leitungen verlegt, sodaß das mit dem Interuptsignal sowieso nicht > > geklappt hätte. Klar, kann man das Interuptsignal der Proterweiterungen nutzen. Die hab ich aber ja > > nicht im Einsatz. > > OK. > > > > Also die hab ich nie gemessen, aber ich habe Schalter, die ich bestimmt 4x die Sekunde betätige, und > > alle Impulse werden problemlos von der Station verarbeitet. Man kann beim besten Willen keine > > Verzögerung feststellen. Es ist sogar so, daß ich viele Dimmer im Einsatz habe, die 64 Helligkeits > > stufen können. Wenn ich hier von 0 auf volle Helligkeit aufziehe, muß der Baustein 64 mal über I²C > > angesprochen werden. Im Wohnzimmer, wo man "Lichtstimmungen" einstellen kann, werden > > sogar vier Dimmer gleichzeitig, also hunderte I²C Pakete in wenigen Sekunden verschickt, und der > > Lesethread hat immer noch keine Probleme. > > > > Zugegeben, wenn man in einem weiteren Zimmer zeitgleich weitere Dimmer aufzieht, merkt man, > > wenn man drauf achtet, daß das Hochdimmen etwas langsamer wird... > > > > Also der I²C ist durch diskrete, manuell erzeugte Schaltersignale sicher nicht kleinzukriegen. > > Da müßten dann wirklich wirklich maschinell erzeugte, höherfrequente Signale her. > > Ja, da sind wohl meine Bedenken mal ausgeräumt. Manchmal kann man sich nicht alles so > vorstellen. > > > > > Rene