Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

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 !  

> Hier ein Beispiel: > Auf jeden Fall mit Interrupt arbeiten. > > ... > pcf.init(); //I2C 8-Bit Porterweiterung (PCF8574) > ... > > <code>thread Taster > { > > wait ports.get(11) == 0; //Interrupt bei Zustandsänderung eines Ports von PCF8574 > //PCF8574 (P7 = INT) verbunden mit [49] von CC2-Station und einem 10K Pullup bei [49] > //Ein Port steht bei 5V und wird auf GND gezogen > > /*Bausteine immer komplett abfragen und nciht Portweise. > Also beim PCF8574 den kompletten Byteport*/ > > pcf.get(Addr, Port_data) //Mit der Funktion get() wird der Portzustand des Ports port > //des angegebenen Bausteins abgefragt (Port_data = Byte) > > Hier muß dann die "Port_data" Byte Auswertung kommen welcher Eingang es dann ist ! > (Einer ist ja der Interrupt Ausgang. Es bleiben also 7 übrig) > > plm.beep(plm.TONE_C2); //Quittierungston > sleep 100; > plm.beep(plm.TONE_OFF); > > } > > ... > ... > </code> > > Bei mir ist die PCF-Ports-HS I²C-Porterweiterung für Hutschienengehäuse > von CC-Tools im Einsatz. > > Wenn der der MAX7311 benutzt wird, dann muß anstatt ein Byte (8Bit) dann ein Integer (16Bit) > ausgewertet werden. > > MarkusK > > > > Hallo Leute, > > > > ich brauche noch zusätzliche digitale Eingänge an der Station. Deshalb habe ich die Porterweiterung > > auf I²C Basis ins Auge gefasst. Jetzt habe ich jedoch im Vorfeld Bedenken, das ich kurze Eingangssignale > > gar nicht erfassen kann. Kurzfristig heist ein Tastendruck auf einen Lichtschalter / Rolladen. Aus dem Bauch > > würde ich mal sagen, das dauert nicht länger wie 0,3 bis 0,5 Sekunden. > > > > So, jetzt könnte ich einerseits im extrem kurzen Abstand (so ca. 150ms) alle Eingänge (16 Port) abfragen. > > Halte ich jedoch aufgrund des unnötigen Datenverkehrs auf dem I²C für ungeeignet. (Vielleicht wird der > > Lichttaster nur 2mal am Tag gedrückt) > > > > Die nächste Möglichkeit wäre die Verwendung des Interrup, den lege ich auf einen freien Port der Station. > > Hier sind schnelle Abfragen der Portzustände kein Problem. Dennoch habe ich Bedenken, bei einem > > Interrup Signal alle 16 Ports zeitnah abzufragen, bei einem Interrup Signal weis ich ja nicht, welcher der > > 16 Ports eine Pegeländerung hat. > > > > Deshalb die Frage in die Runde: > > Hat jemand schon so etwas umgesetzt und kann von seinen Erfahrungen schildern. Oder gibt es einen > > anderen Weg solche kurze Ereignisse zu erfassen? > > > > > > Rene
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB