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 Compy, > > > Hab ich, nur funktioniert dann garnichts mehr... > > -> Wie frage ich den doofen ADC ab? (mit dem neuen Modul) > > Beachte, daß einige HEX-Dateien geladen werden müssen, wenn Du nicht OSOPT V3.0 > benutzt. Auch müssen die Einsprungadressen der Module lcdext.c2, i2c.c2 etc. für > für die entsprechenden HEX-Treiber ausgewählt sein. (Entweder für OSOPT V3.0 oder > für sys0001.hex/capture.hex) > > > > > Jedoch liegt das ursprüngliche Problem woanders. > > > Der Compiler kann mit unnützen Ausdrücken, wie 1==-1 oder while 1{} > > > nichts anfangen. Gut, das ist ein Fehler, aber wer schreibt schon > > > soetwas. :-) > > > > Has ja recht...aber das kann ja mal vorkommen... (adc-Abfrage + Vergleich.. o.ä.) > > Nein. Das kann normal nie vorkommen. > Das Problem liegt darin, daß Du zwei Konstanten in den Vergleich gesetzt hast. > Wenn sich in einem Vergleich mindestens eine Variable befindet, funktioniert alles, wie es soll. > Der Compiler versucht beim Kompilieren Konstante Ausdrücke/Berechnungen > zusammenzufassen. > Wenn Du nun if 1==-1 schreibst, versucht der Compiler 1==-1 zu berechnen. > Und hier geht etwas schief. > Sobald Du if a==-1 schreibst, wobei a eine Variable ist, geht es, wie gesagt, ohne Probleme. > > > > zu 2.) von Deinem Prorblem gibt es sicher eine einfache Erklärung. > > > Aber ohne Quellcodeauschnitt kann man hier nicht helfen. > > > Es ist wahrscheinlich nur ein Programmierfehler. > > > > *ich mache keine Fehler* - nein - das wirds wohl sein... > > vermutlich hab ich was mit den Threads durcheinandergeschmissen... > > Hab eben "reset" entdeckt, und damit funzt es dann vielleicht... > > > > -> Quelltext: wo soll ich den denn hintuen? Der is lang... > > Es sollte nur der betroffene Abschnitt gepostet werden, wenn das Programm länger ist, > nicht das ganze Programm. > Quellcode setzt Du einfach zwischen den code-Tags. Also so: > <code> > Quellcode ... > </code> > hier entsteht dann > <code> > Quellcode ... > </code> > wobei C2-Schlüsselworte und Kommentare entsprechend formatiert werden. > > > > zu 3.) > > > Hier mußt Du beachten, daß das Senden von Zeichenketten und Bytepuffern > > > an das interne LCD im Hintergrund geschieht und noch nicht beendet ist, > > > wenn die Funktion zurückkommt. > > > Daher mußt Du ggf. ein wait lcd.ready(); oder ein kleines sleep einbauen, > > > wenn Du Lokale Variabeln ausgeben, oder die auszugebende Variabel > > > nach dem Aufrufen der Funktion neue Daten zuweist. > > > > Aber auch mit > > > > wait lcd.ready(); > > lcd.print(s, str.length(s)); // Altes modul > > // bzw. > > lcd.print(s); // Neues Modul > > Hier hast Du Die Funktion von der ready()-Abfrage falsch verstanden. > Du muß nach dem Aufruf von lcd.print() auf ready() prüfen. > Also: > <code> > lcd.print(s); > wait lcd.ready(); > //Alternativ: > // sleep 100; // 100ms sollten für die Ausgabe reichen. > </code> > > Allerdings bringt die Ausgabe auf das Mini-LCD nicht viel, da es > 1. wirklich nur für Debugging-Infos taugt > 2. die Unit nurnoch ohne Mini-LCD/Gehäuse produziert wird. :-) > > > MfG André H.