Changed the parity bit calculation in the write function to odd instead of even.
Show us your changed code to check the implementation.
First, if I use the exact mod suggested by pylon [the 4th comment] on the recv function, while trying to upload the sketch I get:
For what board type are you compiling this?
but if I leave the function as is, and only changing this:
Your change is just skipping the parity bit and the stop bit. This works for the receiving part but it's clear that the transmitting part is not working that way.