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 !
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.