(25-02-2017 12:19)SP7EZG napisał(a): Nie rozumiem jednak dlaczego w programie SQ1FTB po każdej sekwencji bitów jest wywoływana funkcja Zegarek.
Ponieważ
Zegarek odpowiada za generowanie impulsu na linii
CL. Ten impuls MUSI być wygenerowany po każdym wystawionym bicie na linii
DATA
(25-02-2017 12:19)SP7EZG napisał(a): .... ale czy w Bascomie zmienne zawsze mają postać dwójkową? Nie znalazłem w programie żadnej funkcji zamieniającej wartość Freq czy Fpom na binarną.....
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.
(25-02-2017 12:19)SP7EZG napisał(a): Jeśli Fpom.a zwraca wartość bitu na danej pozycji to czy dla C można to zastąpić.....
Np. tak można wysłać 14 bitów zmiennej
Fpom w kolejności nałożonej przez producenta LM7001:
Kod:
for( uint8_t idx=0; idx<14; idx++ )
{
if ( ( Fpom >> idx ) & 0x0001 )
{
SET_PIN_DATA ; // Pin DATA ustawiamy na 1
} else
{
CLEAR_PIN_DATA ; // Pin DATA ustawiamy na 0
}
Zegarek(); // Generujemy impuls na linii CL
}
Za pomocą tej pętli można również za jednym zamachem wysłać wszystkie 24 bity do LM7001 - czyli kompletne słowo sterujące. Wymaga to jednak, bardzo drobnej modyfikacji powyższej pętli.