Hi,

ich wollte mir mal für den RP6 ein TerminalsteuerungsProgramm erstellen
das dann irgentwann ganze Kommandoketten auswertet z.B. 100_FWD_1min_
leider komme ich nicht mehr weiter kann mir jemand sagen wo ein fehler liegen
könnte?

Danke

Code:
#include "RP6RobotBaseLib.h"

char Buffer[UART_RECEIVE_BUFFER_SIZE + 1];
char Name[12+1];
uint8_t cnt;
uint8_t speed = 0;
int8_t dir = 0;


uint8_t Eingabe(void){

static uint8_t buffer_pos = 0;
if(getBufferLength()){
Buffer[buffer_pos]=readChar();
if(Buffer[buffer_pos]=='\n'){
Buffer[buffer_pos] = '\0';
buffer_pos = 0;
clearReceptionBuffer();
return 1;

}
else if(buffer_pos >= UART_RECEIVE_BUFFER_SIZE) {
   Buffer[buffer_pos] = '\0'; 
   buffer_pos = 0;
   clearReceptionBuffer();
   return 1;}
buffer_pos++;
}
return 0;
}



void Warten(void){

for(cnt = 0; cnt <UART_RECEIVE_BUFFER_SIZE + 2; cnt++) {
Buffer[cnt]=0;
}
    
while(!Eingabe());

}



void Namenlesen(void){
uint8_t a;

for(a=0;a<14;a++){

Name[a]=Buffer[a];

}
}

void KommandoAuswerten(){
int cnt = 0;
int cnt2;
int done = 0;
char Speed[2];

while(Buffer[cnt]!='/n){
if (Buffer[cnt]=='_'&& done == 0){
for(cnt2=0;cnt2<4;cnt2++){
Speed[cnt2]=Buffer[cnt2];
}
speed = atoi(Speed);
done = 1;
break;
}
cnt++;
}
}

int main(void){
initRobotBase();



setLEDs(0b000000);

writeString("Hallo lass uns starten\n");
writeString("Schreibe mal bitte deinen Namen ins Terminal\n");



Warten();
Namenlesen();
writeString("Dein Name ist also ");
writeString(Name);

writeChar('.');
writeString("\n");

writeString("Gib mir mal ein Komando");
writeString("\n");
Warten();
KommandoAuswerten();
powerON();
moveAtSpeed(speed,speed);
return 0;
}