Witam,
Kolego M72M72, aby uniknąć szukania problemów w Twoim egzemplarzu Piligrima doprowadź swój kod do prawidłowego działania.
Do tego bardzo przyda Ci się częstościomierz. Podpinasz go pod wyjście generatora i widzisz jak na dłoni, czy si5351 generuje prawidłową częstotliwość. Wnioskując po Twoich pytaniach nie masz najmniejszego pojęcia, czy częstotliwość na wyjściu si5351 odpowiada wyświetlanej wartości *4.
Jeżeli nie posiadasz jeszcze częstościomierza, to go zakup lub zrób w pierwszej kolejności, a następnie składaj syntezę i pisz dla niej program. Można również użyć innego prawidłowo działającego (t)rx-a do sprawdzenia generowanej częstotliwości.
Co do programu - przeglądnij w pierwszej kolejności bibliotekę obsługi si5351 której używasz lub chociaż plik nagłówkowy tej biblioteki. Będziesz wiedział jakich argumentów dana funkcja wymaga.
Piszesz, że zamieniłeś swoją zmienną f na float, kiedy funkcja ustawiania częstotliwości si5351 wymaga zmiennej uint64_t . Jesteś pewien, że po niejawnym rzutowaniu ( a takie ma tu miejsce ) z float na uint64_t funkcja dostała prawidłową wartość ? Swoją drogą poszukaj może jeszcze innej biblioteki do obsługi si5351, bo używanie uint64_t do przekazania częstotliwości nie świadczy zbyt dobrze o niej, tym bardziej, że używasz atmegi 328 - jeżeli dobrze zauważyłem na zdjęciach ( arduino nano ).
Kolego M72M72, aby uniknąć szukania problemów w Twoim egzemplarzu Piligrima doprowadź swój kod do prawidłowego działania.
Do tego bardzo przyda Ci się częstościomierz. Podpinasz go pod wyjście generatora i widzisz jak na dłoni, czy si5351 generuje prawidłową częstotliwość. Wnioskując po Twoich pytaniach nie masz najmniejszego pojęcia, czy częstotliwość na wyjściu si5351 odpowiada wyświetlanej wartości *4.
Jeżeli nie posiadasz jeszcze częstościomierza, to go zakup lub zrób w pierwszej kolejności, a następnie składaj syntezę i pisz dla niej program. Można również użyć innego prawidłowo działającego (t)rx-a do sprawdzenia generowanej częstotliwości.
Co do programu - przeglądnij w pierwszej kolejności bibliotekę obsługi si5351 której używasz lub chociaż plik nagłówkowy tej biblioteki. Będziesz wiedział jakich argumentów dana funkcja wymaga.
Piszesz, że zamieniłeś swoją zmienną f na float, kiedy funkcja ustawiania częstotliwości si5351 wymaga zmiennej uint64_t . Jesteś pewien, że po niejawnym rzutowaniu ( a takie ma tu miejsce ) z float na uint64_t funkcja dostała prawidłową wartość ? Swoją drogą poszukaj może jeszcze innej biblioteki do obsługi si5351, bo używanie uint64_t do przekazania częstotliwości nie świadczy zbyt dobrze o niej, tym bardziej, że używasz atmegi 328 - jeżeli dobrze zauważyłem na zdjęciach ( arduino nano ).
73 Paweł

