difference Serial.print("Hello World") / Serial.println("Hello World")

Hi, unfortunately I cannot spot out the difference. Can someone help me please? :slight_smile:

By the way, I can split my project into 2 programs (just 2 tabs in the Arduino DE), right?

Thanks

println prints a new line after the string.

http://arduino.cc/en/Serial/Println

The reference documents clearly state it in the first sentence.

"Prints data to the serial port as human-readable ASCII text."

http://arduino.cc/en/Serial/Println
"Prints data to the serial port as human-readable ASCII text followed by a carriage return character (ASCII 13, or '\r') and a newline character (ASCII 10, or '\n')."

Now, are you saying you don't understand that difference or you aren't seeing it in the serial monitor. If you aren't seeing it, run the command twice, back to back.

Ah ok thanks, I've just seen this :slight_smile:

what they said ^

also, careful that you know which you use too when you are trying to parse Serial data later, that has caught me a few times. Println actually prints a character ( I think it would be considered a character...?) so when you go to split multiple message it can throw you off.

Serial uses ASCII and there are a full 256 char's. Some printing such as 'A' ect and some "non" printing such as null,cr,lf,nl,rubout backspace and lost of others but all are char's.

Mark

hilukasz:
Println actually prints a character ( I think it would be considered a character...?)

No, as the reference document states, Println adds two characters to the end of the string. Carriage Return (13) and Linefeed (11).

And they are always added in that order and never the other way round!.

Mark

yeah, splitting hairs at that point, but you're right its technically two. point being to watch out for them when splitting the message.

No, it isn't splitting hairs, they are actually two characters.

From "Print.cpp"

size_t Print::println(void)
{
  size_t n = print('\r');
  n += print('\n');
  return n;
}