Re: Ausgabe ueber HWCOM Kategorie: Programmierung (von Torsten M. - 31.03.2004 22:54) | ||
Als Antwort auf Ausgabe ueber HWCOM von ChristianS. - 31.03.2004 21:53 | ||
| ||
Hallo Christian, ich denke du hast das klassische Integer-Problem. Die 21 ist eine Integerzahl und 3600 ebenfalls => Ergebnis Integer (-32768..32767). MfG Torsten M. Alternativ: thread main { long zeit; stports.init(); lcdext.init(); hwcom.init(); hwcom.setspeed(8); sleep 5000; hwcom.clr(); zeit=0; loop { zeit = system.hour(); zeit = zeit * 3600; // + system.minute()*60+system.second(); hwcom.num(zeit); hwcom.ret(); sleep 1000; } } > Hallo, > ich hab mal wieder eine Frage: Ich versuche mich an einer Zeitschaltuhr und bin einem Beispiel > von Andre H. gefolgt. Da meine CC2-Station im Keller steht, überprüfe ich die Funktionalität > meiner Programme, in dem ich einfach etwas über die serielle Schnittstelle ausgabe. Das funktioniert > in der Regel recht gut. Aber heute bringt mich einfach das einfach zur Verzweiflung. > > Hier mein Versuch: > thread main > { > long zeit; > stports.init(); > lcdext.init(); > hwcom.init(); > hwcom.setspeed(8); > > sleep 5000; > hwcom.clr(); > zeit=0; > loop > { > zeit=system.hour()*3600; // + system.minute()*60 + system.second(); > hwcom.num(zeit); > hwcom.ret(); > sleep 1000; > } > } > > eignetlich sollte das Programm bei einer Systemstunde von 21 den Wert 75600 > ´rausschmeissen. Tatsächlich bekomme ich aber den Wert 10064 angezeigt. Rechne ich aber > zeit=system.hour()*360, und in der Ausgaberoutine hwcom.num(zeit*10), stimmt das Ergebnis. Die > Minuten und Sekunden hab´ich erst mal weggelassen... > > Ich habe auch schon versucht das Ergebnis "zahl" in einen String zu wandeln und hwcom.print() > auszugeben. Funktioniert auch nicht. Irgendwie bin ich mal wieder zu blöd. Eventuell hat > einer von Euch eine Idee, woran es liegt. Ich vermute hwcom.num konvertiert mein Ergebnis > nach Integer. Aber welche Ausgabefunktion ist dann richtig? > > Vielen Dank schon mal.. > ChristianS. | ||
Antwort schreiben Antworten: |