RISOLTO : Problema con 5 shiftreg 74HC165

Il problema era qui:

il comando unsigned long gestisce solo 4 bytes e quindi:

non poteva funzionare in quanto gli switch sono 5;
modificato quindi anziche unsigned long in uint64_t.
Avevo provato in precedenza uint8_t ma non funzionava.

Grazie alla dritta di alto777.