Hola ,no programo en C y no puedo comprender tu programa pero te comento mi experiencia cuando use en su momento este CI ,lo configure uniendo las dos entradas de clock SHCP/STCP ,esto hace que con un pulso de clock el dato se desplaza hasta la salida directamente (no podes usar el estado de alta impedancia) y tuve que iniciar el envio con dos pulsos de clock ,el primer pulso de clock que envias hace ingresar el dato y el segundo lo pone a la salida ,luego envias normal con cada pulso de clock ,si recuerdo bien era de esta manera que me funciono ,bueno espero te ayude el comentario . Saludos!