Но не работает. В общем костыль не удался... а как вообще нужно сделать чтобы по человечачьи было?[/uquote]
1) не все а один
2) "по человечачьи" можно поискать:
http://qaru.site/questions/83751/conver ... ng-arduino
Код: Выделить всё
char len; //счетчик числа символов в команде
ch1 = getchar(); // получаем символ из потока ввода
if(ch1 == 'c' && len == 0){
len++;
}
if(ch1 == 'l' && len == 1){
len++;
}
if(ch1 == 's' && len == 2){
len++;
}
if(ch1 == 0x0D && len == 3){ // клавиша Enter
len= 0;
// выполнить очистку экрана ну или чего там надо
}
if(ch1 == 0x1B){ // клавиша Esc сброс счетчиак числа символов в команде
len= 0;
} Код: Выделить всё
char len; //счетчик числа символов в команде
char len_2;
ch1 = getchar(); // получаем символ из потока ввода
len_2++;
if(ch1 == 'c' && len == 0 && len_2 == 1){
len++;
}
if(ch1 == 'l' && len == 1 && len_2 == 2){
len++;
}
if(ch1 == 's' && len == 2 && len_2 == 3){
len++;
}
if(ch1 == 0x0D && len == 3 && len_2 == 4){ // клавиша Enter
// выполнить очистку
len=0;len_2=0;
}
if(ch1 == 0x1B){ // клавиша Esc сброс счетчиак числа символов в команде
len= 0; len_2=0;
} А он ее, логику, просто не видит.Аlex писал(а):Где логика в Вами написанной строке кода
spikepavel вам задание, создайте алгоритм:spikepavel писал(а):А так пишу на HTML.
Код: Выделить всё
char len; //счетчик числа символов в команде
char len_2;
void setup() {
Serial1.begin(9600);
VGA.begin(320, 240, VGA_COLOUR);
VGA.setInk(16);
}
void loop() {
if(Serial1.available()) {
int inByte = Serial1.read();
len_2++;
if((inByte == 'c'||inByte == 'C') && len == 0 && len_2 == 1){
len++;
}
if((inByte == 'l'||inByte == 'L') && len == 1 && len_2 == 2){
len++;
}
if((inByte == 's'||inByte == 'S') && len == 2 && len_2 == 3){
len++;
}
if(inByte == 13 && len == 3 && len_2 == 4){ // клавиша Enter
VGA.clear(); VGA.moveCursor(0,0);
len=0;len_2=0;
}
if(inByte == 13 || inByte==27){ // клавиша Enter или клавиша Esc сброс счетчика числа символов в команде
len= 0; len_2=0;
}
if(inByte==27){ // клавиша ESC
VGA.clear();
VGA.moveCursor(0, 0);
}
VGA.write(inByte); }