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



Teraz jest 27 kwi 2024, o 11:14


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
 Tytuł: puste EEPROM
PostNapisane: 3 lut 2014, o 12:09 
Offline
Użytkownik

Dołączył(a): 29 gru 2013
Posty: 36
Lokalizacja: Szczawnik/Muszyna
Pomógł: 0

Witem Państwa,
Mam uporczywy problem z wgraniem do mojej ślicznotki (MEGA16) trochę zmiennych do EEPROM'u
W zasadzie robiłem wszystko według poradnika p.Mirka (struktury i EEPROM)
Kod do przenoszeniem struktur po między FLASH <----> RAM <----> EEPROM :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



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


A w kodzie na początku wstawiam funkcję do sprawdzania czy EEPROM jest puste
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

jeśli tak to do do RAM kopiowana jest struktura z FLASH...

a daleko daleko w kodzie w funkcji MENU1 służącej do ustawiania temperatury
dla czujnika pierwszego umieściłem zapis:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Problem polega na tym że cały czas ładowane są fabryczne ustawienia z FLASH
bo EEPROM jest puste... O dziwo kod .eep po kompilacji to
Obrazek

Próbowałęm też wgrywać prosto z eclipse i zmieniłem domyslne ustawienia
EEPROM na from bulid i nadal nic...
Z góry dzięki za odpowiedzi

Pozdrawiam Rafał



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lut 2014, o 12:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Sadzę że problem polega na ustawieniu EESAVE w fusach

------------------------ [ Dodano po: 6 minutach ]

Przy każdym wgrywaniu wsadu automatycznie jest kasowany EEprom.

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lut 2014, o 12:52 
Offline
Moderator
Avatar użytkownika

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

kurnachatka napisał(a):
Sadzę że problem polega na ustawieniu EESAVE w fusach

------------------------ [ Dodano po: 6 minutach ]

Przy każdym wgrywaniu wsadu automatycznie jest kasowany EEprom.


DOKŁADNIE TAK,

i nie ma co zmieniać tego fusebitu tylko inaczej podejść do testowania

czyli odpalić procka - zmieniać wartości programem jakimś klawiszem itp

a potem dopiero odczytać i zobaczyć że dane są ;)


Autor postu otrzymał pochwałę

_________________
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: 3 lut 2014, o 13:10 
Offline
Użytkownik

Dołączył(a): 29 gru 2013
Posty: 36
Lokalizacja: Szczawnik/Muszyna
Pomógł: 0

W fusach wszystko dobrze... poza tym nawet jak by kasowało pamięć to tylko przy programowaniu
a mi się nawet do EEPROM nic nie ładuje...

Mam w funkcji 3 przyciski:

+
-
OK

mam też zmienną temp_buff na której wykonuje inkrementację i dekrementację za pomocą 2 guzików

wartość początkowa temp_buff jest pobierana z EEPROM (jeśli WYŁĄCZE funkcje sprawdzania zawartości EEPROM to = 0 a jeśli zostaie to dane kopiowane są z Flash do RAM więc = wartość fabryczna ) . Jeśli ustawimy sobie temperature to klikamy OK i zapisuje nam dane do EEPROM...
ale nadal wszystko jest albo 0 albo wartość fabryczna ...

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


wiem że analiza czyjegoś kodu to męka ale nie rozumiem już nic... :(
A i przepraszam za te _delay ... obiecuje że je wywale :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lut 2014, o 14:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Zakładam że masz potwierdzenie że program wszedł do tego if-a
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


i uzyskałeś np. napis na wyświetlaczu "ZAPISYWANIE" (taki debug).
Bo może tu leży problem i nigdy się nie wykona zapis do EEprom.

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lut 2014, o 14:32 
Offline
Użytkownik

Dołączył(a): 29 gru 2013
Posty: 36
Lokalizacja: Szczawnik/Muszyna
Pomógł: 0

kurnachatka napisał(a):
Zakładam że masz potwierdzenie że program wszedł do tego if-a
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


i uzyskałeś np. napis na wyświetlaczu "ZAPISYWANIE" (taki debug).
Bo może tu leży problem i nigdy się nie wykona zapis do EEprom.


Tak wszystko jest widoczne... i teoretycznie powinno już w EEPROM'ie być wszystko jak trzeba... ale nie ma :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lut 2014, o 14:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Spróbuj może zapisać (tak dla testów poz tym całym MENU zaraz na początku programu poza pętlą while(1))
wartości do struktury w ram potem copy do eeprom i sprawdzić czy coś tam siedzi.


Autor postu otrzymał pochwałę

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lut 2014, o 19:31 
Offline
Użytkownik

Dołączył(a): 29 gru 2013
Posty: 36
Lokalizacja: Szczawnik/Muszyna
Pomógł: 0

Nadal niestety nic... już mi się pomysły na testy skończyły... :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lut 2014, o 19:40 
Offline
Moderator
Avatar użytkownika

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

Rafał napisał(a):
Nadal niestety nic... już mi się pomysły na testy skończyły... :(


To na początek zrób to samo co w poradniku ... to działa

i będziesz miał punkt odniesienia

_________________
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: 3 lut 2014, o 20:00 
Offline
Użytkownik

Dołączył(a): 29 gru 2013
Posty: 36
Lokalizacja: Szczawnik/Muszyna
Pomógł: 0

Ustawiłem na początku zawartość struktury w EEPROM i po zaprogramowaniu zawartość tam siedzi
więc elegancko tylko przy zmianie nic...

------------------------ [ Dodano po: 3 minutach ]

Ehhh.... i znowu głupia wpadka nieudolnego programisty :) ... pobierałem wartość ze zmiennej temp_s
a zapisywałem do temp_max... jednak na razie wstrzymuje się z euforiom i przetestuje do końca czy wszystko działa i napisze o efektach :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lut 2014, o 21:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

@Rafał nie przejmuj się ja jak się zacząłem bawić z RS-em
to wszystkie poradniki studiowałem i zmieniałem ustawienia w
baud , funkcji InitUart na okrągło przez całe popołudnie i wieczór ,

co się okazało na drugi dzień :
ja tej funkcji (InitUart) w ogóle nie wywoływałem tylko ją stworzyłem
myślałem że się wtedy prosto w kant [[cenzura]] ugryzę :D

tak że do przodu aby bity nam sprzyjały :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lut 2014, o 23:57 
Offline
Użytkownik

Dołączył(a): 29 gru 2013
Posty: 36
Lokalizacja: Szczawnik/Muszyna
Pomógł: 0

:) Dziękuję za słowa otuchy :)
Przeszedłem przez kod programu jak sanepid przez kuchnię i po wszystkich zabiegach
optymalizacji itp........ DZIAŁAAAA!!!!! Dlaczego...??? hmmm dobre pytanie :)
Jednak do ukończenia projektu został mi kawał roboty więc jeszcze nie raz
będę prosił o pomoc :)
A tym czasem temat do zamknięcia a ja dziękuję wszystkim za zaangażowanie i znoszenie _delay'ów w kodzie :)



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: 12 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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