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; }







 
			
			 
					
					
					
						 Zitieren
Zitieren 
			

Lesezeichen