eeprom w atmega328P - Wersja do druku +- HomeMade (http://sp-hm.pl) +-- Dział: Oprogramowanie (/forum-84.html) +--- Dział: Technika programowania mikroprocesorów (/forum-85.html) +--- Wątek: eeprom w atmega328P (/thread-4538.html) |
RE: eeprom w atmega328P - SP6AUO - 30-04-2024 18:33 "Jak kompilujesz ten pierwszy program: eep_GEN_SYG.ino , to nie zapisujesz w ogóle eepromu." To po co go kompilować ? Zdaje się,że to chyba jest dla mnie za trudne. Plik eep jest za duży do wpisania do eeprom. Wpisany do flash daje te cyfry. Plik Gen_Syg.ino wpisany do flash daje ładny kolorowy widok i tyle. Nie działa enkoder ani przyciski. Słowo jeszcze do Jerzego.Najpierw muszę uruchomić część sterującą a potem dopiero Si5351. Ekran jest na razie zawieszony W jaki sposób robi wpisy jak nie jest zapisany.Nie da się go wprowadzić do eeprom bo jest za duży. Oba projekty też są razem za duże do flesh-a [attachment=18873] Tak wygląda ekran z wsadem Gen_Syg.ino RE: eeprom w atmega328P - SP9RQA - 30-04-2024 18:49 Nie wiem ile razy mam Ci napisać, że ten pierwszy program po wgraniu zrobi wpisy do eeproma. Na końcu tego programu masz własnie wyświetlanie tych wpisanych 9-ciu zakresów częstotliwości: for (int z = 0; z < 9; z++) { romadd = 0x10 + (0x10 * z); for (int i = 0; i < 3; i++) { freq[i] = eepread((romadd + 4 * i)); } fstep = EEPROM.read(romadd + 13); ucg.setPrintPos(10, 14 + (20 * z)); for (int i = 0; i < 3; i++) { ucg.print(freq[i]); ucg.print(" "); } ucg.print(" "); ucg.print(fstep); } później program skacze do pętli loop(), która jest pusta void loop() { } i kręci się w kółko, aż do wyłączenia zasilania. I ten program nic więcej nie robi. Ten drugi po wpisaniu powinien korzystać z tych wpisów w eepromie. Oczywiście zakładam, że encoder i przyciski masz podpięte pod piny zadeklarowane w programie. RE: eeprom w atmega328P - SP6AUO - 30-04-2024 18:59 Ten pierwszy program (eep_Gen_Syg.ino) mam wgrać do flash-a ? RE: eeprom w atmega328P - SP9RQA - 30-04-2024 19:11 (30-04-2024 18:59)SP6AUO napisał(a): Ten pierwszy program (eep_Gen_Syg.ino) mam wgrać do flash-a ? Tak. Jak go wgrasz to na ekranie dostaniesz te 9 częstotliwości wypisane jedna pod drugą. A potem do flasha masz wgrać ten drugi. Tylko wtedy nie ruszaj już EEPROMU bo tam masz już wpisane te częstotliwości, które Ci się wcześniej wyświetliły. I powinno działać. Jeśli nie, to może jeszcze jakiś problem sprzętowy jest. Może jakiś lokalny guru pomoże koledze... RE: eeprom w atmega328P - SP6AUO - 30-04-2024 19:11 Jerzy nasunął mi taką myśl.Może program blokuje działanie generatora bo ma kontrolę czy Si5351 jest czy go nie ma. Domontuję jednak Si5351. Przed chwilą zapisałem pierwszy plik do flash-a. zapisałem drugi plik do flash-a i ekran stoi,ładny, kolorowy,ale nie działa. Zrobię tak:zapiszę plik eep do flash-a uruchomię projekt.potem podłączę nano do odczytania eeprom. Zobaczymy czy coś się zapisało. RE: eeprom w atmega328P - SP9RQA - 30-04-2024 19:15 Jeśli coś mogę zasugerować to najpierw bym wgrał sobie program i2c-scaner i zobaczył pod jakim adresem zgłasza się Si5351, bo być może trzeba zrobić zmianę w programie. RE: eeprom w atmega328P - SP6AUO - 30-04-2024 19:17 Krzysztof a zapisy flash-a zrobić w arduino czy w mkAVR Calculator. Spróbuję i tu i tu. RE: eeprom w atmega328P - SP6IFN - 30-04-2024 20:17 Andrzeju! Już za dużo namieszałeś. Sposób postępowania jest następujący: 1. Najpierw wyczyść pamięć eeprom, bo pewnie tam masz już powgrywane coś nie tak, 2. Następnie wgraj do pamięci eeprom. program z rozszerzeniem eep, 3. W następnej kolejności wgraj właściwy program ino. do pamięci flash, który obsługuje program generatora, wykorzystując zapisy z pamięci eeprom. Każda inna kolejność wgrywania jest niewłaściwa, kolidująca ze sobą. Ale na początku wyczyść pamięć. Taki sposób postępowania zapewnił mi obsługę innego oprogramowania syntezy na sI5351 tego samego kolegi. Czyszczenie pamięci jest podstawą sukcesu, podstawowy program obsługi generatora nie czyści pamięci, tylko korzysta z istniejących tam zapisów. Podobne oprogramowanie wgrywałem przy pomocy Arduino, Ty masz pliki ino. więc korzystaj z platformy arduino, a czyszczenie eepromu z MkAvr kalkulatora Ryszard RE: eeprom w atmega328P - SP6AUO - 30-04-2024 22:29 Witaj Ryszard. Jak by to tak chciało polecieć to by już dawno było po sprawie. W arduino można stworzyć plik hex tyle że on zajmuje więcej niż pamięć eeprom. TU zaczynają się schody.Do eeprom nie da się go zapisać.Co wtedy ? Krzysiek podpowiedział co mam zrobić.Tym zajmę się jutro. Muszę przygotować nowe nano bo to mi się chyba przegrzało. Krzysztof dzięki. Myślę,że jest ok. Wygląda to tak:Zapis pliku eep do flash-a.uruchomić dds-a. Przygotowanie do odczytu eeprom. [attachment=18874]- Odczyt eeprom [attachment=18875] [attachment=18876] Uruchamia się kolorowy ekran i nic nie działa (encoder,przyciski) Coraz więcej przemawia,że istnieje jakaś kontrola obecności Si5351 Jutro zacznę drugą fazę. Nic nie trzeba zapisywać do eeprom.Samo zapisuje RE: eeprom w atmega328P - SP9OYN - 01-05-2024 6:17 Andrzej masz tylko wgrać .bin do pamięci flash |