How to read String From Serial Monitor WITHOUT delay?

the Serial Input Basics that was pointed to you earlier does just this. Play with that for a while, then come bak to your project

it is not clear to me what you mean by that.
You have to write more words to describe what you are typing into your computer to send as string and then more words to describe the behaviour of the code.

In any way your code has to determine in any way if the received character was the last character or not. (without using the mysterious “looks-into-the future-glas-sphere”-library ;-))))

This can be done by timeout (which you don’t want) or by any special character that indicates “endofString”

How to do this is shown in the serial input basics

best regards Stefan

Note that the Serial Monitor provided with the IDE requires to type ‘Enter’ at the end of the line to send the text (and that might send as well additional characters (CR and/or LF) depending how you configured the pulldown menu for end of line). If you use a different terminal, you might be able to send characters as they are being typed and thus could react to ++ without hitting the ‘Enter’ key (CoolTerm allows for this for example)

end of what line?


The line of characters that you enter into the Serial monitor

you mean plus and minus?

When you enter a character or several characters into the Serial monitor nothing is sent to the Arduino until you press Return. When you do that the Serial monitor adds the characters defined in the Line ending dialogue to the characters sent. This can be a Newline (character 10), a Carriage Return (character 13), both of them or nothing at all

These characters can be detected in your code so that you know that the user has finished entering something


you really should work through the
Serial Input Basics Tutorial

Additionally to receive a better and more detailed help you should post an example of what you want to enter
I will use the #-symbol to mark beginning and end of the characters to enter. This means only the characters between the leading and trailing “#” are the real input

Do you want to enter #200# ?
Do you want to enter #200++# ?
Do you want to enter #30+40# ?

No idea. Because you haven’t posted examples yet

best regards Stefan

May be a picture is still worth a thousand words.

got it

you know im a kid

i know this

so why do you ask “end of what line” ?

i asked InCorrect Sorry

you know my english is bad

So are you clear now what you need to do?

I must test it in future because im doing my homework

As an alternative for writing in english yourself you can use google-translate. Write everything in your native language and let do google the translation. The grammar of the translation won’t be brilliant but everybody will understand it.

The same thing with the answers you get. Just mark the complete message and post it into google-translate. This will help a lot.
If you do both reading the english answers and then reading the translation will even have an effect of improving your english.

best regards Stefan

there is also an International section in the forum with multiple languages being used, may be the native language of @alireza43 is active