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 André, > > habe noch einiges ausprobiert: > > a.) kann es sein, dass die Beschreibung vom MUX 1416 so heißen kann? > > A B > 0 0 AD0-0 AD1-0 AD2-0 AD3-0 > <b>1 0</b> AD0-1 AD1-1 AD2-1 AD3-1 > <b>0 1</b> AD0-2 AD1-2 AD2-2 AD3-2 > 1 1 AD0-3 AD1-3 AD2-3 AD3-3 > > b.) müssen alle Sensoreingänge, welche nicht verwendet werden > auf Masse gelegt werden, um hier keine falschen Messwerte anzuzeigen? > > <code> > const PortA=10; //(P1H.3) Steuerports für den AD-Multiplexer > const PortB=11; //(P1H.4) > byte i,j,AD[4]; > > thread getad > > { > ports.set(PortA,0); > ports.set(PortB,0); > sleep 25; > AD[0]=pcfad.getAD(0,0); > lcdext.goto(1,0); > lcdext.zahl(AD[0]); > > ports.set(PortA,1); > ports.set(PortB,0); > sleep 25; > AD[1]=pcfad.getAD(0,0); > lcdext.goto(1,8); > lcdext.zahl(AD[1]); > > ports.set(PortA,0); > ports.set(PortB,1); > sleep 25; > AD[2]=pcfad.getAD(0,0); > lcdext.goto(2,0); > lcdext.zahl(AD[2]); > > ports.set(PortA,1); > ports.set(PortB,1); > sleep 25; > AD[3]=pcfad.getAD(0,0); > lcdext.goto(2,8); > lcdext.zahl(AD[3]); > sleep 1000; > } > > thread main > > { > pcf.on(0,0); //Addr 0 Port 0 auf Eingang schalten (LED aus) > pcf.on(0,1); //Addr 0 Port 1 auf Eingang schalten (LED aus) > pcf.on(0,2); //Addr 0 Port 2 auf Eingang schalten (LED aus) > pcf.on(0,3); //Addr 0 Port 3 auf Eingang schalten (LED aus) > pcf.on(0,4); //Addr 0 Port 4 auf Eingang schalten (LED aus) > pcf.on(0,5); //Addr 0 Port 5 auf Eingang schalten (LED aus) > pcf.on(0,6); //Addr 0 Port 6 auf Eingang schalten (LED aus) > pcf.on(0,7); //Addr 0 Port 7 auf Eingang schalten (LED aus) > lcdext.init(); > run getad; > > halt; > }</code> > > mfg Alfred > > > > Hallo Alfred, > > > > > Problem: > > > 1.) Möchte 16 Sensoren KTY-10 von Multiplexer über oben beschriebene Hardware abfragen und > > > auf dem ext. Displays nacheinander anzeigen (Sensor 1 - 16). > > > <b><i>--> Mir ist leider nicht klar, wie ich in der Schleife (Ansteuerung MIC14052) die Abfrage > > > der einzelnen Sensoren unterbringe bzw. wie ich diese Abfrage am ext. Displays anzeigen kann > > > </i></b> > > > -->Ohne dem Multiplexer habe ich die Abfrage einwandfrei geschafft! > > > > Du mußt nach dem Setzen des Analog-MUX eine kleine Pause einbauen. > > Ansonsten kann es sein, daß Du keine korrekten Werte bekommst. > > Auch hast Du in Deinem Code ein paar Fehler bei der Benutzung der Variablen. > > Am besten hälst Du Dich am Beispiel zum Analog-MUX: > > 1. MUX setzen > > 2. kleine Pause > > 3. AD-Ports abfragen > > 4. wieder zu 1. > > > > <code>... > > for i=0...3 > > { > > ports.set(PortA,i and 0b01); > > ports.set(PortB,i and 0b10); > > sleep 25; // Das ist wichtig ! > > > > pcfad.getAD4(0,AD); > > for j=0...3 > > { > > lcdext.line(j); > > lcdext.zahl(AD[j]); > > } > > sleep 2500; > > } > > ...</code> > > > > Um den Zustand aller 16 Sensoren korrekt in AD[] abzulegen, wäre folgendes > > notwendig: > > > > <code>... > > byte temp[4]; > > ... > > for i=0...3 > > { > > ports.set(PortA,i and 0b01); > > ports.set(PortB,i and 0b10); > > sleep 25; // Das ist wichtig ! > > > > pcfad.getAD4(0,temp); > > run 255; > > yield; > > for j=0...3 AD[i*4+j]=temp[j]; > > resume; > > } > > ...</code> > > > > MfG André H. > >
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB