Nein, der Test auf <CR> wird unabhängig von deinem Programm gemacht. Das ist im UART integriert. Du brauchst dazu nur das Zeichen anzugeben. Alles was kommt wird in einen Puffer geschrieben, damit hast du auch nichts zu tun. Erst wenn das Zeichen auftaucht, wird der Interrupt ausgelöst und du kannst die Zeichen aus dem Puffer eins nach dem anderen einlesen.
Ich test in der Sub auch noch mal auf 13, aber das ist nur, weil ich das <CR> nicht in meinem String haben will.