Thank you, Thank you, Thank you!

I have modified my code to deal with a serial port interrupt, and (so far at least) it is working perfectly.