EEPROM 90S2313 - czegos nie rozumiem;)

Dec 01, 2004 11 Replies

Witam



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?


Użytkownik rozrabiak napisał:

Hmmm... DO..LOOP Szklana Kula jest na urlopie :) Co jest między tym DO..LOOP ???

Pozdrawiam Grzegorz Kurczyk

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

a nie mozesz odczytac programatorem?

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.

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.

BYRRT! napisał(a):

Tego nie wiedzialem:) Juz obczajam :>

przeciez z poziomu bascoma mozesz zmodyfikowac EEPROM i wyslac go do proca... wpisz wartosc jaka chcesz i juz! :)

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

Willy.

Użytkownik Willy napisał:

Można :)

rozrabiak snipped-for-privacy@maila.pl napisał(a):

A najlepiej to zadeklaruj zmienną w eeprom-ie :)

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.

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