Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void setup()
- {
- Serial.begin(115200);
- }
- bool available_char=false;
- char input_char;
- unsigned int time_now=0;
- unsigned int time_earlier=0;
- int difference;
- bool endline=1;
- int cursor_position=0;
- char *out=new char[1];
- void loop() {
- time_earlier=time_now;
- if(Serial.available())
- {
- input_char=Serial.read();
- available_char=1;
- time_now=millis();
- cursor_position++;
- }
- difference=time_now-time_earlier;
- if(available_char)
- {
- if(difference>2) //создание строки
- {
- endline=1;
- cursor_position=0;
- char *buf=new char[1];
- delete[] out;
- out=buf;
- }
- else //дополнение строки
- {
- char *buf=new char[1+cursor_position];
- for(int i=0; i<=cursor_position;i++)buf[i]=out[i];
- delete[] out;
- out=buf;
- }
- out[cursor_position]=input_char;
- available_char=false;
- }
- if(difference==0 and endline) //вывод строки
- {
- for(int i=0;i<=cursor_position;i++)Serial.print(out[i]);
- endline=false;
- }
- delay(1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement