Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
eeprom w atmega328P
SP6AUO Offline
Andrzej
*****

Liczba postów: 1,050
Dołączył: 20-09-2009
Post: #1
eeprom w atmega328P
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

İmage
Tu problemów nie ma.
taki widok po uruchomieniu generatora
İmage
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.
İmage
A to efekt próby zapisu
İmage
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
(Ten post był ostatnio modyfikowany: 30-04-2024 8:22 przez SP6AUO.)
30-04-2024 8:22
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9OYN Offline
Janusz
***

Liczba postów: 105
Dołączył: 17-05-2012
Post: #2
RE: eeprom w atmega328P
Masz błąd, zobacz trzecia linijka
30-04-2024 9:32
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9RQA Offline
Krzysztof
****

Liczba postów: 378
Dołączył: 30-09-2009
Post: #3
RE: eeprom w atmega328P
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.
30-04-2024 9:42
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6AUO Offline
Andrzej
*****

Liczba postów: 1,050
Dołączył: 20-09-2009
Post: #4
RE: eeprom w atmega328P
Że jest błąd to już wiem od 5dni.
Tu jest plik

.ino  eep_GEN_SYG.ino (Rozmiar: 2.39 KB / Pobrań: 77)
Co można w nim skrócić ?

Andrzej
30-04-2024 10:04
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9RQA Offline
Krzysztof
****

Liczba postów: 378
Dołączył: 30-09-2009
Post: #5
RE: eeprom w atmega328P
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.
(Ten post był ostatnio modyfikowany: 30-04-2024 11:10 przez SP9RQA.)
30-04-2024 11:09
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP3FEC Offline
Jerzy
**

Liczba postów: 62
Dołączył: 11-12-2011
Post: #6
RE: eeprom w atmega328P
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?
30-04-2024 11:50
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6AUO Offline
Andrzej
*****

Liczba postów: 1,050
Dołączył: 20-09-2009
Post: #7
RE: eeprom w atmega328P
Krzysztof, zaczynam.
oto zestaw po skompilowaniu eep_Gen_Syg.ino
İmage
Ato zawartość pliku który został wskazany
İmage
Teraz przygotuję zapis pliku: eep_Gen_Syg.ino.eep

İmage
Ten zestaw nic nie zmienił.
Chyba 20000000Hz zamienił na -0
İmage
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

.doc  Arduino2.doc (Rozmiar: 268.5 KB / Pobrań: 71)

Andrzej
(Ten post był ostatnio modyfikowany: 30-04-2024 16:09 przez SP6AUO.)
30-04-2024 15:57
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9RQA Offline
Krzysztof
****

Liczba postów: 378
Dołączył: 30-09-2009
Post: #8
RE: eeprom w atmega328P
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.
30-04-2024 16:14
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6AUO Offline
Andrzej
*****

Liczba postów: 1,050
Dołączył: 20-09-2009
Post: #9
RE: eeprom w atmega328P
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:
İmage

Andrzej
30-04-2024 18:02
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9RQA Offline
Krzysztof
****

Liczba postów: 378
Dołączył: 30-09-2009
Post: #10
RE: eeprom w atmega328P
(30-04-2024 18: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 ;-)
30-04-2024 18:14
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości