RS232 Program Not Printing Carriage Return in Serial Terminal or Minicom

Hello Everyone,
I'm trying to figure out why my serial terminal is not printing new lines in this program.

My Arduino IDE serial terminal prints sequentially ignoring the implemented in print()

String inputstring = "";                                                       
String sensorstring = "";                                                     
boolean input_stringcomplete = false;                                          
boolean sensor_stringcomplete = false;                                         

  void setup(){                                                                
     Serial1.begin(38400);                                                     
     Serial3.begin(38400);                                                     
     inputstring.reserve(5);                                                   
     }
 
   void serialEvent() {                                                                     
               char inchar = (char)Serial1.read();                             
               inputstring += inchar;                                           
               if(inchar == '\r') {input_stringcomplete = true;}                
              }  

  void serialEvent3(){                                                          
              char inchar = (char)Serial3.read();                              
              sensorstring += inchar;                                          
              if(inchar == '\r') {sensor_stringcomplete = true;}               
             }

 void loop(){                                                                   
     
  if (input_stringcomplete){                                                   
      Serial1.print(inputstring);                                             
      inputstring = "";                                                        
      input_stringcomplete = false;                                            
      }

 if (sensor_stringcomplete){                                                   
      Serial3.print(sensorstring);                                             
      sensorstring = "";                                                       
      sensor_stringcomplete = false;                                           
      }
 }

I was able to induce a new line being being generated in Minicom by using

Ctrl+A +a , (which is "adding a line feed")

Is there a way to do this in the code?

printing_sequencially_arduino_IDE.png

chiques:
Hello Everyone,
I'm trying to figure out why my serial terminal is not printing new lines in this program.

My Arduino IDE serial terminal prints sequentially ignoring the implemented in print()

String inputstring = "";                                                       

String sensorstring = "";                                                     
boolean input_stringcomplete = false;                                         
boolean sensor_stringcomplete = false;

void setup(){                                                               
     Serial1.begin(38400);                                                     
     Serial3.begin(38400);                                                     
     inputstring.reserve(5);                                                   
     }

void serialEvent() {                                                                     
               char inchar = (char)Serial1.read();                             
               inputstring += inchar;                                           
               if(inchar == '\r') {input_stringcomplete = true;}               
              }

void serialEvent3(){                                                         
              char inchar = (char)Serial3.read();                             
              sensorstring += inchar;                                         
              if(inchar == '\r') {sensor_stringcomplete = true;}               
             }

void loop(){                                                                   
     
  if (input_stringcomplete){                                                   
      Serial1.print(inputstring);                                             
      inputstring = "";                                                       
      input_stringcomplete = false;                                           
      }

if (sensor_stringcomplete){                                                   
      Serial3.print(sensorstring);                                             
      sensorstring = "";                                                       
      sensor_stringcomplete = false;                                           
      }
}






I was able to induce a new line being being generated in Minicom by using 



Ctrl+A +a , (which is "adding a line feed")




Is there a way to do this in the code?

Try \n instead of \r. If that doesn't work, try both \n\r

Good luck!

The '\n' recommendation is a good one.

Alternatively: Does it help if you use Serial.println() instead of Serial.print()?

-br

Hello,
I tried both suggestions and it still continues to print horizontally on the terminal

String inputstring = "";                                                       
String sensorstring = "";                                                     
boolean input_stringcomplete = false;                                          
boolean sensor_stringcomplete = false;                                         

  void setup(){                                                                
     Serial1.begin(38400);                                                     
     Serial3.begin(38400);                                                     
     inputstring.reserve(5);                                                   
     }
 
   void serialEvent() {                                                                     
               char inchar = (char)Serial1.read();                             
               inputstring += inchar;                                           
               if(inchar == '\n\r') {input_stringcomplete = true;}                
              }  

  void serialEvent3(){                                                          
              char inchar = (char)Serial3.read();                              
              sensorstring += inchar;                                          
              if(inchar == '\n\r') {sensor_stringcomplete = true;}               
             }

 void loop(){                                                                   
     
  if (input_stringcomplete){                                                   
      Serial1.println(inputstring);                                             
      inputstring = "";                                                        
      input_stringcomplete = false;                                            
      }

 if (sensor_stringcomplete){                                                   
      Serial3.println(sensorstring);                                             
      sensorstring = "";                                                       
      sensor_stringcomplete = false;                                           
      }
 }

I wonder if its my IDE settings.

arduino_horizontal_scroll.png

              if(inchar == '\n\r') {sensor_stringcomplete = true;}

This will never be true. '\n' is one character and '\r' is another character.