Nie nie, nie sugeruj się zupełnie.
W komentarzu była wartość taka jak być powinna dla 25kHz, ale obie wartości były typowo dla próby. Podłączyłem w miejsce linii diody tak, by móc obserwować i liczyć bity.
255 binarnie to 11111111, więc od 17 bitu linia Data powinna świecić ciurkiem, i tak też się dzieje. CL ma 10 ms przesunięcia tak jak być powinno wg noty katalogowej.
Póki co wszystko jest okej, zaczynam się wdrażać w temat ustawiania kroku i częstotliwości.
Nie mogę sobie poradzić z hardware'owym problemem debouncingu enkodera, musze chyba wykorzystać inną bibliotekę.
Kod:
uint8_t Sterowanie = 0b10100000; //25 kHz10100000
]for( uint8_t idy=0; idy<8; idy++ ) //wysyłanie 14 bitów częstotliwości
{
if ( ( Sterowanie << idy ) & 0x0001 )
{
digitalWrite(DATA, HIGH);
} else
{
digitalWrite(DATA, LOW) ;
}
zegarek();
digitalWrite(DATA, LOW);
}
digitalWrite(CE, LOW);
Wygląda na to, że wartość nie jest zapisywana poprawnie. Na pin jest podawana jakby od najmłodszego bitu do najstarszego.
Pozdrówki.