cruise control on motorcycle, need to read timing between wheel RPMs on reed swi

In serloop1() you seem to be modifying the servo position but you've already written the unmodified value to the servo. I suggest you work out what position you want the servo in, and only then move the servo to that position.

This code in serloop1() is completely wrong:

serloop1(); //returns to SerLoop1 to run again

You have misunderstood how the control passes between functions in 'C' and C++. If you want to stay in serloop1() then you need to either not return from it, or arrange that the code you're returning to will call it again. Since the calls to serloop1() are controlled by the switch input, it seems that it would do what you need anyway. But regardless of whether that does what you want, you need to get rid of that recursive call to serloop1().