Re: Empfang hwcom Kategorie: Programmierung (von Gerd M. Karl - 14.08.2001 22:02) | |
Als Antwort auf Re: Empfang hwcom von André H. - 13.08.2001 20:54
| |
> Hallo Gerd, > Ich umgehe damit die String-Funktionen in meinen Programmen. > Man mu� eine Zahl in mehrere ASCII-Zeichen zerlegen, damit man sie auf dem LCD > wiedergeben kann. > > lcd.put((x / 100)+0x30); > //= 1.Ziffer z.B. von 210 = 2 > lcd.put(((x % 100)/10)+0x30); > //= 2.Ziffer z.B. von 210 = 1 > lcd.put((x % 10)+0x30); > //= 3.Ziffer z.B. von 210 = 0 > > MfG André H. Hallo Andre, Sorry da� ich da so nachbohre. Was du mit den Modulo-Divisionen bezweckst, war mir schon klar (wg. der Verschiebung um HEX30 um in den ASCII-Bereich der Zahlen zu kommen!). Aber ich interessiere mich ja eigentlich nicht für die Darstellung des Bytes auf dem Display (au�erdem mü�te das ja eigentlich über die str.putint() auch gehen). Ich brauche das Byte zur weiteren Verarbeitung eben als Byte. Ich wollte nur zum Test auf das Display ausgeben um zu sehen ob alles richtig ankommt. Andere Bytes (zum senden) kann ich ja auch einfach über str.putint() zusammenbasteln und anzeigen. Mit dem jetzigen Test-Programm läuft alles bestens aber ich hab trotzdem noch nicht den Grund für die markierte Zeile gefunden, denn es wird ja das ganze Byte sauber angezeigt. Mit freundlichen Grü�en Gerd thread Comin { byte x,y,z; // Check ob was empfangen wurde (Puffer) // und Daten im Display anzeigen x = hwcom.rxd(); // Prüfung auf Empfang if x // wenn neue Daten, Daten lesen { // Daten lesen und aufbereiten y = hwcom.get(); // empf. Daten lesen lcd.clear(); s="Empf="; str.putint(s, x); lcd.print(s, str.length(s)); ********************************************** z= y%100; // Daten aufbereiten (Div. Rest) ********************************************** lcd.goto(1,0); // LCD 2. Zeile Anfang s= "Dat= "; str.putint(s, z); lcd.print(s, str.length(s)); } halt; // Thread anhalten; weiter mit Main } | |
Antwort schreiben Antworten: Re: Empfang hwcom (von André H. - 15.08.2001 7:07) |