Hallo ich habe ein Display was per serielle Schnittstelle angesteuert wird. Steuer und Datenausgaben funktionieren super. Hab nun nur den Nachteil das ich die Position des Cursors mit einem String: ESC TC5,4; ausgeben kann. Die 5 und 4 stehen für die X,Y Werte. Diese Werte sollen aber als int gespeichert werden und in den String eingefügt werden. Quasi wie in Delphi : ESC+'TC'+IntToStr(5)+','+IntToStr(4)+';' nur halt in C Danke! Thorsten
Würde mit itoa und strcat gehen, wird aber vermutlich recht langsam. besser, aber mit viel mehr Flashbedarf wäre "sprintf". Schnellste Lösung wäre das zusammenfügen sein zu lassen und die Teile einzeln zu senden, also send(ESC); send("TC"); send(itoa(X))... Für Zahlen von 0..9 ist für die Umwandlung in ASCII wohl ein ('0'+x) am schnellsten. /Ernst
Ginge zum Beispiel so: char string[10]; sprintf(string, "\x1bTC%d,%d;", x, y); Das setzt voraus, daß "string" ausreichend viel Platz bietet, also mindestens 8 Bytes (bei x & y < 10) inklusive abschließender \0. Sicherer ist hier die Verwendung von snprintf: #define LAENGE 10 char string[LAENGE]; snprintf(string, LAENGE, "\x1bTC%d,%d;", x, y);
Danke ! @Rufus Deine Methode ist genau das was ich suchte und sie funzt auch *g Danke !
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.