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 Konstantin, > > Zuerst: Schreib bitte einen Betreff der mehr Themenbezogen ist: > z.B: "Probleme mit Display-Ausgabe" oder ähnliches. > Daß die meisten Hilfe brauchen, wenn sie in ein Forum posten sollte > klar sein ! > Und bitte benutze beim Schreiben des Textes die Return/Enter-Taste, > bevor Du am Zeilen ende ankommst. > Sonst steht alles in einer Zeile, und ich muß ewig nach rechts scrollen. > > > Jetzt zu Deinem Problem: > > Zweite Frage zuerst: > > Und noch eine Frage: wie kann ich DAtum, Sek., Min., ändern? > > > Handbuch Seite: Seite 121 (7.11.2) und Seite 122(7.11.4) > > > Ich habe vor 2 Tagen eine LCD-Anzeige über I2C an CC2 angeschlossen und ein Prog. reinprogrammeirt. Es funzt, aber die Zahlen blinken bei jedem Sekundenwechsel und ab und zu verschwindet ganz. Was habe ich falsch gemacht? > > > Du machst etwas grundlegendes falsch: > Du initialisierst das LC-Display bei <u>jedem</u> Durchgang und lässt dazu keine > kleine Pause nach dem Init. Da ist es klar, daß sich das Display aufhängt. > Und nebenbei solltest Du "print" anstatt "printlength" benutzen. > "print" ist um einiges schneller. > Printlength wird nur benötigt, wenn man einen String mit z.B. 20 Zeichen > Inhalt hat, und z.B. nur die ersten 5 davon ausgeben will. > > Also, Dein Thread sollte in etwa so aussehen: > > thread main > { > string s; > system.TIME t; > byte sec; > s="Die Uhr"; > pcflcd.setpcf(8); > pcflcd.init(); > pcflcd.setLight(1); > pcflcd.goto(1, 0); > pcflcd.print(s); > > loop > { > sec = system.second(); > wait system.second() != sec; > > system.gettime(t); > pcflcd.goto(1, 12); > pcflcd.zahl2(t.hour); > pcflcd.put(':)'; > pcflcd.zahl2(t.minute); > pcflcd.put(':'); > pcflcd.zahl2(t.second); > > pcflcd.goto(2, 12); > s= ""; > s= DOW_NAMES[system.dow()] + " "; > str.putintf(s,system.day(),2); > s=s+"."; > str.putintf(s,system.month(),2); > s=s+"."; > str.putintf(s,system.year(),2); > pcflcd.print(s); > > // Doppelpunkte nach ca 1/2 Sekunde ausschalten (für Blinkeffekt) > sleep 500; > pcflcd.goto(1, 14); > pcflcd.put(0x20); > pcflcd.goto(1x17); > pcflcd.put(0x20); > } > } > > > MfG André H. > > > > > Hier ist was ich zusammen gestellt habe: > > > > const DOW_NAMES[] = "So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"; > > //----------- > > thread main > > //----------- > > { > > string s1, s2, s3; > > s3="Die Uhr"; > > system.TIME t; > > int sec; > > // Synchronisation auf Sekundenwechsel > > sec = system.second(); > > wait system.second() != sec; > > > > // Zeitstring aufbauen > > s1 = ""; > > system.gettime(t); > > str.putintf(s1, t.hour, 2); > > str.putchar(s1, ':'); > > str.putintf(s1, t.minute, 2); > > str.putchar(s1, ':'); > > str.putintf(s1, t.second, 2); > > > > // Datumsstring aufbauen > > s2 = DOW_NAMES[system.dow()]; > > str.putchar(s2, ' '); > > str.putintf(s2, system.day(), 2); > > str.putchar(s2, '.'); > > str.putintf(s2, system.month(), 2); > > pcflcd.setpcf(8); > > pcflcd.init(); > > pcflcd.setLight(1); > > pcflcd.goto(1, 0); > > pcflcd.print(s3); > > > > > > // Strings am Display ausgeben > > pcflcd.goto(1, 12); > > pcflcd.printlength(s1, str.length(s1)); > > pcflcd.goto(2, 12); > > pcflcd.printlength(s2, str.length(s2)); > > > > // Doppelpunkte nach ca 1/2 Sekunde ausschalten (für Blinkeffekt) > > sleep 500; > > pcflcd.goto(1, 14); > > pcflcd.put(' '); > > pcflcd.goto(1, 17); > > pcflcd.put(' '); > > } > > > > Ich danke im Voraus