31-08-2017, 10:57
(31-08-2017, 2:02)M72M72 napisał(a): Znalazłem błąd, miałem źle zdefiniowany typ zmiennej odpowiedzialnej za częstotliwość.
zmienna "f" przyjmuje wartości do ok 28000000 po pomnożeniu przez 4 a następnie przez 100 bo tak wymaga układ SI5351 daje ogromne liczby które wykraczają poza pojemność typu zmiennej "long" bo tak miałem to zdefiniowane.Kod:void set_f(){
si5351.set_freq(f*100*4, SI5351_CLK2);
si5351.update_status();
}
Po zmianie na "float" radio ruszyło.
Dziwi mnie tylko jedno, mając antenę na 40m nie powinienem odbierać czegoś na pozostałych pasmach, nawet słabo ?
Pytam bo w zasadzie mam ciszę oprócz 40m.
Częstotliwość powinna być podana w formacie żądanym przez funkcję biblioteczną
si5351.set_freq i jest najprawdopodobniej hercach (bez mnożnika 100), typ zmiennej uint64_t.
Poniżej nagłówek funkcji
Kod:
/*
* set_freq(uint64_t freq, enum si5351_clock clk)
*
* Sets the clock frequency of the specified CLK output.
* Frequency range of 8 kHz to 150 MHz
*
* freq - Output frequency in Hz
* clk - Clock output
* (use the si5351_clock enum)
*/
uint8_t Si5351::set_freq(uint64_t freq, enum si5351_clock clk)Częstotliwość można sprawdzić bez oscyloskopu.
Wystarczy ustawić częstotliwość odbioru 2kHz i podłączyć słuchawkę.
Pozdrawiam
Andrzej

