Ahí no puedo ayudarte, de C# ni idea.
Puedes si lo deseas, previamente probar el programa que tienes con el programa Hiperterminal de Windows.
Cualquier motor (salida) hay que inicializarlo a 0, antes de meterte en el while, eso se te ha olvidado.
Un saludo