matinzk:
Exactly, I print it after it has arrived and setting _rpm within processNumber.
You are printing _rpm every time through loop. The time taken to do that (which uses interrupts) is likely to make you miss incoming data.
BTW I wouldn't be using leading underscores in variables names if I were you.