Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 5 kwi 2026, o 20:07


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 5 sie 2016, o 22:09 
Offline
Użytkownik

Dołączył(a): 12 lis 2014
Posty: 108
Pomógł: 0

Witam szanowne forum.
Tak sobie siedzę i kombinuję z tymi pamięciami i stanąłem w miejscu. Po przemyśleniu, że nie wszystko na raz, postanowiłem zmienić sposób nauki i zająłem się
jednym tematem, jak w tytule. Temat kopiowania ram-eeprom i z powrotem pojąłem i działa. Niestety dołożyłem obsługę pamięci flash i tu jest coś nie ok :( .
Gdzie mam się zwrócić o pomoc, jak nie tu :) .
Krótko o programie.
Mam trzy tablice char i dwa przyciski. Po włączeniu zestawu atb ładuje się tablica ram i wyświetla na lcd.
Po wciśnięciu przycisku Pin1 ładuje sie tablica eeprom i wyświetla na lcd.
Po wciśnięciu przycisku Pin2 na powrót ładuje sie tablica ram, a ja chciałem załadować tablicę flasch. Nie wiem czemu tak jest.
Ponad to kiedy po włączeniu urządzenia załaduje się tablica ram i po wciśnieciu Pin1 załaduje się tablica eeprom, to po wyłączeniu i ponownym włączeniu
na wyświetlaczu mam ponownie tablicę ram.
Na koniec dodam, że obsługę flasch napisałem trochę na czuja. Nie wszystko do końca rozumiem. Według mnie powinno działać na 100%, ale to tylko
moje zdanie "biginera".

Załączam kod do analizy. Dziękuję za wszelką pomoc.


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sie 2016, o 22:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 mar 2014
Posty: 334
Lokalizacja: Rybnik
Pomógł: 55

Zobacz skąd dokąd kopiujesz i myślę, że zorientujesz się, gdzie jest błąd :)
Robson napisał(a):

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Wskazówki:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Oraz:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę

_________________
Amatorska stacje meteorologiczna



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sie 2016, o 22:59 
Offline
Użytkownik

Dołączył(a): 12 lis 2014
Posty: 108
Pomógł: 0

Dziękuję anonimowy.

Właśnie znalazłem błąd w kodzie i poprawiłem.Teraz działa następująco i w 100% moimi założeniami:

po włączeniu wyświetla się tablica ram,
Po wciśnięciu Pin1 ładuje się eeprom do lcd,
po wciśnięciu Pin2 ładuje się flash do lcd'

Do tej pory jest ok.

Po resecie, restarcie mam tablicę ram na lcd. Patrząc na kod i tablice, to tak musi być. Czy możesz mi podpowiedzieć, jak mogę zrobić funkcję do kopiowania
ram do flash ?. Czy jest to wykonalne ?
Dziękuję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sie 2016, o 23:34 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

Robson napisał(a):
Czy jest to wykonalne ?

Teoretycznie tak. Ale to nie jest takie proste.

Robson napisał(a):
jak mogę zrobić funkcję do kopiowania
ram do flash ?

1. Umieścić kod do zapisu jednej strony Flash w sekcji NRWW pamięci Flash.
2. Uruchomić kod z sekcji NRWW
3. Zapisać całą stronę FLASH danymi z RAM, niestety może się sporo miejsca zmarnować w ramach pojedynczej strony
4. Określić dokładnie miejsca w pamięci Flash zarówno funkcji z sekcji NRWW oraz strony do zapisu z sekcji RWW. (Chyba że to procek ATtiny to wszystko będzie w ramach sekcji NRWW)... miejsca to znaczy adresy HEX w opcjach linkera.

Wydaje się to troszkę skomplikowane ale mam nadzieję, że po ukazaniu się Yellowbooka na rynku, każdy będzie używał sobie pamięci Flash zamiast EEPROM co daje przy okazji po tysiąckroć większą pewność że przechowywane w niej dane nie znikną albo że się nie uszkodzą ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 sie 2016, o 00:46 
Offline
Użytkownik

Dołączył(a): 12 lis 2014
Posty: 108
Pomógł: 0

Witam Mirku.
Dziękuje za zainteresowanie moim tematem. Czytając Twój post stwierdziłem, że istotnie, skoro Ty piszesz, że nie jest to takie proste, to tym bardziej ja, jako początkujący odpuszczam ten temat. Widocznie nie wszystko, co w głowie się urodzi, można przełożyć na kod C :) .
Mimo wszystko temat jest cały czas otwarty, ponieważ przetrenowałem zapis tablic char, a jeszcze są struktury, wskaźniki, menu na tych rzeczach. Za jakiś czas będą kolejne pytania, na które mam nadzieje, znajdę odpowiedź na forum. Sam niedawno pisałeś "pytać, pytać........, a więc tak rob
ię.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 sie 2016, o 06:05 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

Robson napisał(a):
Sam niedawno pisałeś "pytać, pytać........, a więc tak robię.


I bardzo dobrze ... po prostu na co dzień FLASH to pamięć programu TYLKO DO ODCZYTU i tak się ją traktuje w 99% przypadków.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 sie 2016, o 10:06 
Offline
Użytkownik

Dołączył(a): 12 lis 2014
Posty: 108
Pomógł: 0

Wstawiam poprawiony kod dla osób, które tak jak ja zaczynają zabawę. Pozwala mi on zrozumieć zasadę działania z tymi pamięciami. Oczywiście obsługa
przycisków trochę prymitywna (delay) i można, a nawet trzeba to zamienić na nieblokujące funkcje (np. P. Mirka), ale do testów może być.


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Należy pamiętać o dołączeniu :

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Pozdrawiam.


Przepraszam za wprowadzenie w błąd, ale nie zauważyłem pomyłki. Poprawiłem.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Majestic-12 [Bot] i 4 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO