Kod:
for( uint8_t idx=0; idx<24; idx++ )
{
if ( ( Fpom >> idx ) & 0x00001 )
{
SET_PIN_DATA ; // Pin DATA ustawiamy na 1
} else
{
CLEAR_PIN_DATA ; // Pin DATA ustawiamy na 0
}
Zegarek(); // Generujemy impuls na linii CL
}
Zakładając oczywiście, że w Fpom będzie zapisana cała wartość.
Warunkiem w if jest mnożenie logiczne. Czym jest wartość 0x0001? Jedynką reprezentującą ilość bitów?
Pętla sprawdza pozycję bitu, jeśli 1 wysyła, jeśli 0 czeka.
Przecież to jasne jak słońce!
Tylko czy uint8_t przechowa tą wartość? Synteza przyjmuje słowo 14 bitowe.
Cytat:A co robi pętla wysyłająca 14 bitów ze zmiennej Fpom ?????
Każdy procesor, cyfrowy układ logiczny, FPGA i co tam jeszcze jest w cyfrówce widzi tylko dane binarne. Po to są edytory, środowiska programistyczne, żeby kod wyglądał zjadliwie dla człowieka !!!! Ciężko jest w dzisiejszych czasach pisać za pomocą 0 i 1 przy tak złożonych mikroprocesorach i programach.
Jasna sprawa! Tylko nie wiedziałem, że to działa w tak prosty sposób! 255 = 11111111!
Nie denerwuj się proszę, wytłumaczyłeś mi już i tak mega dużo. Lubię dyskutować i podpytywać mądrzejszych