W jaki sposob moge (ew. czy w ogole da sie) sprawdzic, czy w eepromie (wbudowany) w danej komorce jest cos wpisane?
Chcialem przed petla glowna 'DO..LOOP' odczytac ustawienia, jednak gdy w eepromie nie ma nic wpisanego, czyli sa same FF, to program sie zawiesza.
W jaki sposob moge rozwiazac tn problem?
Didn't find your answer? Ask the community — no account required.
G
Grzegorz Kurczyk
Użytkownik rozrabiak napisał:
Hmmm... DO..LOOP Szklana Kula jest na urlopie :) Co jest między tym DO..LOOP ???
Pozdrawiam Grzegorz Kurczyk
R
rozrabiak
Grzegorz Kurczyk napisał(a):
W chwili obecnej nic nadzwyczajnego :P W drugiej linijce tego kodu program sie wiesza w momencie gdy nic nie jest zapisane w tej komorce..
Dim Czas As Integer ReadEEprom Czas, 0 'Odczytaj nastawe czasu z eepromu
Do 'wejscie do petli glownej While Pind.2 = 0 'jezeli zwiekszyc czas to Incr Czas 'czas + 1 Wait 1 'odczekaj 1 sekunde Wend
While Pinb.3 = 0 'zmniejszamy czas If Czas > 1 Then 'jezeli zmienna czas > 1 Decr Czas 'zmniejsz zmienna czas o jeden Wait 1 'odczekaj 1s WriteEEprom Czas, 0 'zapisz do eepromu czas End If Wend Toggle Portb.0 'zmien stan pinu 0 portu b Toggle Portb.1 'zmien stan pinu 1 portu b Wait Czas 'odczekaj CZAS sekund Loop 'powrot do petli glownej End 'end program
B
BYRRT!
a nie mozesz odczytac programatorem?
G
Grzegorz Kurczyk
Użytkownik rozrabiak napisał:
nie znam Bascoma. Czy WriteEEprom Czas, 0 oznacza zapisz wartość zmiennej Czas do komórki EEPROM-u o adresie 0 ? Jeśli tak, to spróbuj z inną komórką. Z tego co sobie przypominam te Atmelki miały jakieś problemy z zerową komórką EEPROMu.
R
rozrabiak
Grzegorz Kurczyk napisał(a):
Dokladnie tak.
Zgadza sie, wyczytalem to w Helpie (o tej komorce zerowej). Problem wynika z tego, ze przy pierwszym uruchomieniu programu w Atmelku wszystkie komorki maja wartosc FF (255) czyli:
readeeprom czas, 0 wait czas
przy pierwszym uruchomieniu czas oczekiwania jest rowny...255 sekundom?;] Slodkie.:P
Trzeba bedzie cos wymyslec.
R
rozrabiak
BYRRT! napisał(a):
Tego nie wiedzialem:) Juz obczajam :>
B
BYRRT!
przeciez z poziomu bascoma mozesz zmodyfikowac EEPROM i wyslac go do proca... wpisz wartosc jaka chcesz i juz! :)
W
Willy
rozrabiak napisał(a):
Yhmm dopiero co zaczynam z mikrokontrolerami ... ale imho mozna przecież eeprom zaprogramować podczas programowania układu jakimiś wartościami początkowymi (chyba że nie można) :D
Dim Eczas as Eram Integer At 2 (przypisz zmienną Eczas od adresu np. 2 w eepromie) czas=eczas (przepisz do zmiennej w ram bo eeprom ma jednak skończoną ilość zapisów) .. czas=czas+1 .. eczas=czas (to zapisze zmienną czas w eepromie i nie potrzeba writeeeprom czy readeeprom)
Pzdr. Piotrek Sz.
B
byrrt
ale to przeciez nic nie zmieni w zwiazku z jego problemem...
Podczas programowania wystarczy zamiast zakladki Flash czy jakos tak wybrac EEPROM i masz na ekranie obraz EEPROMu...
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.