If you can not get it working in a loop you will never get an interrupt to work.
Take a look at this
http://melabs.com/samples/PBP-mixed/serin.htm