Hserin is always better than serin, works in the background while other code executes as it is hardware based vs bitbang software. I think you are going to need to use a crystal vs intosc because of timing issues especially if you want to use high speed communications, the example I gave you is really too fast for internal OSC, should probably slow it down to something like 300. If you want to use HSERIN you will have to use the appropriate ports, so yes RB1 (RX) as input, there is some code you have to add to use HSERIN too, lots of example code in this forum.