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 Marco, > > Mache bitte keine Doppelposts zum selben Thema. > Du hast bereits einen Thread zum selben Thema weiter unten angefangen. > Bleibe bitte in diesem, sonst wird's für Mitleser sehr unübersichtlich. > <a href="lesen.php?eintrag=11402">Hier für Mitleser der Thread, auf dem sich dieses Thema bezieht.</a> > > Benutze bitte auch unbedingt die Code-Tags, wenn Du Quellcode postest. > Deutlicher kann ich es oberhalb des Kommentarfelds nichtmehr schreiben. > > Nun aber noch ein paar Anmerkungen zu Deinen Routinen: > Daß das funktioniert, bezweifle ich eher. Zumindest wirst Du Dein EEProm > ziemlich schnell zerstören, da schon nach ca. 15maligen Ausführen des Programms > mehr als 100.000 Schreibzyklen auf einzelne Speicherzellen durchgeführt wurden. > Da 4x 1800 Byte pro Schleifendurchlauf geschrieben werden, welche sich > von den Adressen überschneiden, und das 1800 mal !? > > So, wie ich es sehe, willst Su auf dem EEProm folgendes Format haben: > Byte 0 bis 1799 den Wert TAS, pro Schleifendurchgang einen neuen Wert. > Byte 1800 bis 7199 die Werte GS_H, GS_T, und GS_U im folgendem Format: > HTUHTUHTU... usw. > > Das geht z.B. so: > <code>const GS_H=0; > const GS_T=1; > const GS_U=2; > //------------ > thread main > //------------ > { > float TAS, DP, AP, T, R, TASEQN, VSDP, VSAP, VST; > byte GS[3]; > int offset; > > loop > { > VSDP=1.1; > VSAP=4.6; > VST=2.3; > if VSDP > 1 > { > DP=((5*VSDP)/5)-1; > AP=((94.4287*VSAP)/5)+14.3532; > R=5/VST-1; > T=1000/(math.ln(R)/3.9+1000/298); > TASEQN=((2*DP)/(AP/(287*T))); > TAS=math.sqrt(TASEQN)*3.6; > > sleep 15; > i2c.cstart(214); > i2c.write(50); > i2c.stop(); > sleep 15; > i2c.cstart(215); > GS[GS_H]=i2c.read(); > GS[GS_T]=i2c.read(); > GS[GS_U]=i2c.readlast(); > i2c.stop(); > sleep 15; > > eeprom.writebyte(0,offset,TAS); > eeprom.writebytearray(0,(offset*3)+1800,GS,3); > offset=offset+1; > if offset==1800 quit 1; > } > } > }</code> > > Ach ja, noch eine Bitte: Mach' ein OS Update. Das Original OS ist schon seit Jahren veraltet. > Weder von mir noch von irgendjemand anderem gibt es dazu noch Support ! > Du hast mit dem alten original OS keinerlei Vorteile, sondern nur Nachteile. > > MfG André H. > > > > Problem gelöst. So funktionierts. > > > > //------------ > > thread main > > //------------ > > > > { > > float TAS, DP, AP, T, R, TASEQN, VSDP, VSAP, VST; > > byte TASBYTE[1800],GS_H[1800],GS_T[1800],GS_U[1800]; > > int arrayzaehler_TAS,eepromadresse_TAS; > > int arrayzaehler_GS_H,eepromadresse_GS_H; > > int arrayzaehler_GS_T,eepromadresse_GS_T; > > int arrayzaehler_GS_U,eepromadresse_GS_U; > > > > eepromadresse_TAS=0; > > arrayzaehler_TAS=-1; > > eepromadresse_GS_H=1800; > > arrayzaehler_GS_H=-1; > > eepromadresse_GS_T=1801; > > arrayzaehler_GS_T=-1; > > eepromadresse_GS_U=1802; > > arrayzaehler_GS_U=-1; > > > > loop > > { > > VSDP=1.1; > > VSAP=4.6; > > VST=2.3; > > if VSDP > 1 > > { > > DP=((5*VSDP)/5)-1; > > AP=((94.4287*VSAP)/5)+14.3532; > > R=5/VST-1; > > T=1000/(math.ln(R)/3.9+1000/298); > > TASEQN=((2*DP)/(AP/(287*T))); > > TAS=math.sqrt(TASEQN)*3.6; > > arrayzaehler_TAS=arrayzaehler_TAS + 1; > > TASBYTE[arrayzaehler_TAS]=TAS; > > eeprom.writebytearray(0,eepromadresse_TAS,TASBYTE,1800); > > eepromadresse_TAS=eepromadresse_TAS+1; > > sleep 15; > > i2c.start(214); > > i2c.write(50); > > i2c.stop(); > > sleep 15; > > i2c.start(215); > > arrayzaehler_GS_H=arrayzaehler_GS_H + 1; > > GS_H[arrayzaehler_GS_H]=i2c.read(); > > arrayzaehler_GS_H=arrayzaehler_GS_H + 1; > > GS_T[arrayzaehler_GS_T]=i2c.read(); > > arrayzaehler_GS_U=arrayzaehler_GS_U + 1; > > GS_U[arrayzaehler_GS_U]=i2c.readlast(); > > i2c.stop(); > > sleep 15; > > eeprom.writebytearray(0,eepromadresse_GS_H,GS_H,1800); > > eepromadresse_GS_H=eepromadresse_GS_H+3; > > eeprom.writebytearray(0,eepromadresse_GS_T,GS_T,1800); > > eepromadresse_GS_T=eepromadresse_GS_T+3; > > eeprom.writebytearray(0,eepromadresse_GS_U,GS_U,1800); > > eepromadresse_GS_U=eepromadresse_GS_U+3; > > if arrayzaehler_GS_U==1799 > > { > > quit 63; > > } > > } > > } > > } > >
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB