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 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: > &lt;code&gt; > Quellcode ... > &lt;/code&gt; > 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.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB