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 Wema, > > > > Vielen, vielen Dank für deine Korrektur. Habe es sofort ausprobiert, war aber erfolglos. > > Denke aber, dass es ein I2C Bus Problem sein könnte, benütze keine pull up’s. > > Ich werte meine Chipkarte mit einem Reader von Chipdrive typ micro fun aus (bei Conrad gekauft). > > Der Reader erkennt meine I2C Karte problemlos. Habe leider bis jetzt noch keine Daten darauf. > > Hoffe aber, dies bald ändern zu können. > > > > Habe den Code folgendermassen angepasst, sollte so funktionieren. > > > > //-------------- > > thread main > > //-------------- > > > > { > > float TAS, DP, AP, T, R, TASEQN, VSDP, VSAP, VST; > > int TASINT[1800], arrayzaehler, eepromadresse; > > > > arrayzaehler=0; > > eepromadresse=0; > > > > loop > > { > > VSDP = 0,00488*ports.adc(0); > > VSAP = 0,00488*ports.adc(1); > > VST = 0,00488*ports.adc(2); > > 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; > > for arrayzaehler=0...1799; > > { > > TASINT[arrayzaehler]=TAS; > > } > > eeprom.writeintarray(0,eepromadresse,TASINT,1800); > > eepromadresse=eepromadresse+2; > > if arrayzaehler==1799; > > { > > arrayzaehler=0; > > eepromadresse=0; > > quit 63; geht in Host-Modus über > > } > > sleep 1000; > > } > > } > > } > > > > Nochmals besten Dank für deinen Einsatz !!! > > > > Würde Dir sehr gerne weiterhelfen, benötige dazu aber mehr Erfahrung in der Auswertung von > > Chipkarten. > > > > Gruss Marco > > > > Hallo Marco, > darf ich Dir noch ein paar Fehler korrigieren? > > Deine Schleife > >for arrayzaehler=0...1799; > > { > > TASINT[arrayzaehler]=TAS; > > } > > macht meiner meinung nach keinen Sinn, da Du hier in dem Array ja 1800mal den gleichen Wert > (nämlich TAS) ablegst. Das war doch bestimmt nicht Deine Absicht?? > Außerdem mußt Du nach "for arrayzaehler=0...1799;" unbedingt das Semikolon löschen. Ansonsten > geht der Compiler davon aus, das hier die Befehlszeile zuende ist und führt den Befehl danach > in den geschweiften Klammern nur einmal aus. > > Das Gleiche betrifft auch Deine nächste If-Schleife. Auch dort in der 1. Zeile das Semikolon weglassen. > Die geschweiften Klammern bedeuten, dass nach der Schleife nicht nur ein Befehl kommt, sondern > mehrere. Sollte nur ein Befehl kommen, kannst Du die Klammern auch ruhig weglassen. > Beispiel: > > for arrayzaehler=0...1799 TASINT[arrayzaehler]=TAS; > > Du brauchst doch auch eine Schleife, in welcher Du den arrayzaehler immer um 1 erhöhst, ansonsten > wird die abschließende If-Schleife niemals ausgeführt, da Du nie für arrayzaehler den Wert 1799 > erreichen wirst. > > Überarbeite das Pogramm noch mal. Ich habe leider keine Zeit mehr. > > Gruß, > wema > > P.S. Mit welchem Programm willst Du denn die Dtane aus der Karte auslesen? Hast Du eins beim > Kartenlesegerät dabei gehabt? Kannst Du mir das mal probehalber zur Verfügung stellen? > Ich habe schon einige Software ausprobiert, funktioniert hat keine. > > Gruß