Why not use a dedicated IRDA chip, with an I2C interface then ? Would solve problems like the stop bit. By the way this chip seems to also provide RS232/485 interface and GPIO.