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
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.
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
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)
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.