Hallo
Aha, das macht Sinn und funktioniert auch schon besser:Du könntest aber z.B. ein kleines delay einbauen, oder eleganter auf das Zeilenende warten (\n).
Die Ausgabe dazu:Code:#include "RP6RobotBaseLib.h" char eingang[15]; int main(void) { char i; initRobotBase(); // Initialisierung – IMMER ALS ERSTES AUFRUFEN! powerON(); while(true) { writeString_P("Bitte etwas eingeben -max 10 Zeichen-"); writeString_P("\n\r"); i=0; do { while(!getBufferLength()); //warten solange keine Zeichen im Buffer while(getBufferLength()) // Zeichen aus Buffer einlesen eingang[i++]=readChar(); }while((i<10) && (eingang[i-1] != '\n')); sleep(50); clearReceptionBuffer(); eingang[i]=0; // Endekennung String nach letztem Zeichen writeString(eingang); writeString_P("\n\r"); } // Endlosschleife return 0; }
Der Unterschied beim Zeilenvorschub kommt davon dass bei Strings <10 das \n vom Senden auch im String ist. Aber das ist eher ein kosmetischer Fehler...Code:Terminal cleared! Bitte etwas eingeben -max 10 Zeichen- # 123 123 Bitte etwas eingeben -max 10 Zeichen- # 1234567890 1234567890 Bitte etwas eingeben -max 10 Zeichen- # 11223344556677889900 1122334455 Bitte etwas eingeben -max 10 Zeichen- # juhu juhu Bitte etwas eingeben -max 10 Zeichen-
Gruß
mic







Zitieren

Lesezeichen