I need to switch to an Arduino with a hardware serial port
Your Uno HAS a hardware serial port.
strcpy(tempChars, receivedChars);
// this temporary copy is necessary to protect the original data
// because strtok() used in parseData() replaces the commas with \0
But, you never use the original data, so it is NOT necessary to copy it. Save time; stop copying.
What, EXACTLY, are you sending to the Arduino?