Go Down

Topic: Serial TX buffer/blocking (Read 731 times) previous topic - next topic

Do calls to Serial.print() and Serial.println() block? If not, is there a finite transmit buffer that can be corrupted if I transmit too much data too quickly?

I am assuming there must be some kind of TX buffer since there is an explicit Flush method: http://arduino.cc/en/Serial/Flush

PaulS

Quote
Do calls to Serial.print() and Serial.println() block?

Depends on the version of the IDE that you are using, and how much data you are sending. In 0023 and earlier, yes, they block. In 1.0 and later, they put data in a buffer, if there is room. Otherwise, they block until there is room for the data in the buffer. The buffer is 64 bytes.

I'm using 1.0 so I guess my method calls will block if/when they need to.

Go Up