The first guess would be a baud-rate problem with either Teraterm or the UART being set to different baud rates,or something has changed in the CPU clocking.
You say the receiver is working. Is it receiving the correct characters?
Can you send characters one at a time by dumping them (from the debugger) into the transmitter?
Check 7/8/9 data bits, parity off/on/odd/even and the numbr of stop bits.
The best thing to do is to see what is being transmitted with an oscilloscope, then measure the bit times and the transmitted data format.