Liczba postów: 1,051
Liczba wątków: 13
Dołączył: 20-09-2009
30-04-2024, 7:22
(Ten post był ostatnio modyfikowany: 30-04-2024, 7:22 przez SP6AUO.)
Pilna pomoc potrzebna.
Postanowiłem zbudować generator sygnałowy.
Wybór padł na model wypracowany przez sp8mce.
Program do obsługi składa się z 2-ch zestawów.
1.zestaw to
Tu problemów nie ma.
taki widok po uruchomieniu generatora
Efekt jest taki,że jest ładny obrazek,ale nic nie działa.
To co widać,bez możliwości zmiany czegokolwiek.
Przystąpiłem do 2-go etapu,zapis do eeprom.
A to efekt próby zapisu
Flash się zapisał a eeprom nie.Po wczytaniu eeprom wygląda tak: FF FF FF FF ...... od początku do samego końca.
Liczę na pomoc.
Andrzej
Liczba postów: 102
Liczba wątków: 4
Dołączył: 17-05-2012
Masz błąd, zobacz trzecia linijka
Liczba postów: 385
Liczba wątków: 23
Dołączył: 30-09-2009
Masz napisane, że adres jest poza zakresem. Ten procesor ma 1kB, czyli 1024 bajty EEPROMu, a adres 0x0410 wskazuje na komórkę o adresie 1040, więc już poza pamięcią EEPROM i dlatego program zapewne nie podejmuje nawet próby zapisu.
Liczba postów: 1,051
Liczba wątków: 13
Dołączył: 20-09-2009
Że jest błąd to już wiem od 5dni.
Tu jest plik
eep_GEN_SYG.ino (Rozmiar: 2.39 KB / Pobrań: 349)
Co można w nim skrócić ?
Andrzej
Liczba postów: 385
Liczba wątków: 23
Dołączył: 30-09-2009
30-04-2024, 10:09
(Ten post był ostatnio modyfikowany: 30-04-2024, 10:10 przez SP9RQA.)
Mam wrażenie, że próbujesz zapisać do EEPROMu to co ma być we flashu. Po kompilacji zawartość EEPROMu ma 13 bajtów i jest w pliku z rozszerzeniem eep:
eep_GEN_SYG.ino.eep
Poza tym nie wiem jaki był zamysł twórczy autora tego programu, ale chyba nie ma sensu zapisywać nic do tego eeproma,
gdyż to program zawarty we flashu wypełnia eeprom odpowiednimi wartościami w funkcji setup().
Później już nic nie robi, bo pętla loop() jest pusta. Ten program nie zawiera obsługi żadnego generatora.
Prawdopodobnie idea tego jest taka, że najpierw wgrywamy ten program, który wypełnia nam EEPROM, a później kompilujemy ten drugi GEN_SYG.ino i w nim jest dopiero obsługa Si5351. I jego wgrywamy w miejsce tego pierwszego. Oczywiście pamiętając o tym, aby przy okazji nie wykasować EEPROMu, który wcześniej zapisaliśmy.
Liczba postów: 63
Liczba wątków: 3
Dołączył: 11-12-2011
Niby z innej beczki, ale podobnie.
Miałem podobny problem gdy składałem syntezę Mikrob 4s.
Na wyświetlaczu było pięknie, nawet zmieniała się częstotliwość kiedy kręciłem encoderem, ale synteza była głucha jak pień. Nic z niej nie wychodziło.
Po wielu próbach wyszło że winny jest adres Si5351. Mikrob 4s pracował dobrze tylko gdy miał Si5351 z adresem 0x60. Musiałem "wydmuchać" z Easy 2017 Si5351 który miał na pewno ten adres a w to miejsce wkleiłem inny. Natomiast Easy 2017 ma wpisane w programie współpracę z Si5351 z adresem od 0x60 do 0x6F.
Może w nieodpowiednim adresie Si5351 leży przyczyna że układ nie działa?
Liczba postów: 1,051
Liczba wątków: 13
Dołączył: 20-09-2009
30-04-2024, 14:57
(Ten post był ostatnio modyfikowany: 30-04-2024, 15:09 przez SP6AUO.)
Krzysztof, zaczynam.
oto zestaw po skompilowaniu eep_Gen_Syg.ino
Ato zawartość pliku który został wskazany
Teraz przygotuję zapis pliku: eep_Gen_Syg.ino.eep
Ten zestaw nic nie zmienił.
Chyba 20000000Hz zamienił na -0
Spróbuję zapisać oba programy do nano w arduino
W arduino program eep_Gen_Syg.ino kompiluje się bez błędów a weryfikuje fatalnie
Arduino2.doc (Rozmiar: 268.5 KB / Pobrań: 306)
Andrzej
Liczba postów: 385
Liczba wątków: 23
Dołączył: 30-09-2009
Chyba niezbyt jasno napisałem poprzednio.
Jak kompilujesz ten pierwszy program:
eep_GEN_SYG.ino
to nie zapisujesz w ogóle eepromu. Ten program jak się uruchomi to wpisze odpowiednie wartości do eepromu. Choć w sumie to t6eż bez znaczenia, bo program po uruchomieniu i tak powinien nadpisać eeprom.
Później kompilujesz ten drugi program i go wgrywasz do flasha, ale NIC już nie wpisujesz do eepromu. Tak to wg mnie powinno być, ale ja tego nie budowałem i mam nadzieję, że to jest właściwa procedura.
Liczba postów: 1,051
Liczba wątków: 13
Dołączył: 20-09-2009
Na razie to stwierdziłem,że chyba at328P w arduino nano wyparował.
Nic nie chce wpisywać i pokazuje -0.
Wgrałem ten eep_Gen_Syg.ino do flash i mam to:
Andrzej
Liczba postów: 385
Liczba wątków: 23
Dołączył: 30-09-2009
(30-04-2024, 17:02)SP6AUO napisał(a): Na razie to stwierdziłem,że chyba at328P w arduino nano wyparował.
Nic nie chce wpisywać i pokazuje -0.
Wgrałem ten eep_Gen_Syg.ino do flash i mam to:
I pewnie dobrze. Ten pierwszy program robi jedynie wpisy do eeproma, dopiero ten drugi korzysta z tych wpisów. Tak mniemam ;-)