1. CLK -> LOW // синхронизация
2. задержка для обеспечения частоты
3. CLK -> HIGH
4. считываем DO
5. задержка
...
Я так делал и 1 бит недотягивает, работает нормально, если:
1. CLK -> LOW // синхронизация
2. задержка для обеспечения частоты
3. CLK -> HIGH // синхронизация
4. задержка для обеспечения частоты
5. CLK -> LOW
6. задержка для обеспечения частоты
7. CLK -> HIGH
8. считываем DO
9. задержка
...
Где я туплю