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 !  

> Hallo Bernd, > > Zuerst: Bitte formatiere Quellcode mit dem code-Tag, wie oberhalb des Texteingabefelds > beschrieben, und nicht mit pre-Tags. Der Code ist dann besser lesbar. > (Außerdem wird dieser dann auch nach C2-Syntax formatiert.) > > > Nun die Fragen: > > Gibt es Schwierigkeiten mit den Werten in "Data"? > > Nein, es sollte keine Schwierigkeiten geben. > Im Bytearrays pcf.Data[] stehen die Portzustände der PCF8574. > Dieses Arrays wird nur benutzt, wenn einzelne oder mehrere Ports > vom PCF8574 als Ausgang benutzt werden. > Im diesen Array müssen die entsprechenden Bits, welche zu den Ports gehören > auf high stehen, die als Eingang genutzt werden. > > > Ist dieser Weg überhaupt der richtige? > > Der Code sollte funzen. > Nur was Du mit dem <code>s = s + ChgeData[i];</code> bezwecken willst, > verstehe ich nicht ganz. > Jedoch solltest Du bei den PCF8574 mit einer Interruptleitung arbeiten, > um den Bus nicht unnötig zu belasten. > Du fasst einfach alle Interruptausgänge der PCF8574 zusammen, bei denen > einzelne oder alle Ports als Eingang dienen. > Diese Interruptleitung führst Du dann zu einem freiem I/O der CC2 und hängst > noch einen 10k Pull-Up-Widerstand zwischen dem I/O und der CC2. > Solange der Port einen high-Pegel hat, ist auch nichts an den Eingängen > der PCF8574 passiert. Geht die Int-Leitung an dem Port auf Low, so gab es > eine Änderung an einem der PCF8574. > Und, um dies in Deine Funktion einzubinden: > > <code>function ReadAll() returns int > {byte i, n; int s; > if ports.get(IntPort) return 0; // Wenn kein Interrupt, Funktion verlassen > // Lesen sämtlicher Bausteine (PCFaddr) bis Interrupt beendet > s = 0; > > for i = 0 ... 15 > { > if PCFaddr and (1 shl i) != 0 > { > i2c.cstart(AddrR[i]); > n = i2c.readlast(); > i2c.stop(); > // Berechnung von ChgeData > // danach speichern von ReadData > ChgeData[i] = ReadData[i] xor n; > s = s + ChgeData[i]; > ReadData[i] = n; > } > if ports.get(IntPort) break; // Wenn Interrupt beendet, Schleife verlassen > } > return s; > }</code> > > > MfG André H.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB