Witam
Jestem początkującym więc wybaczcie jakieś niedociągnięcia.
Gdzie jest problem :
Kupiłem książkę i płytkę z układem - Mikrokontrolery dla początkujących.
Jest to kurs programowania w BASCOMIE.
W rozdziale opisującym programowanie EEPROM nie jestem w stanie zaprogramować EEPROMa.
Sprzęt :
1) Programator STK500 po USB
2) Procesor jak w temacie
Błąd
Chciałem z poziomu programu zapisać zmienna do EEPROMa - też przykład z książki (uprościłem aby nie śmiecić ) - przy próbie zapisu do EEPROMa (tak mi się wydaje) układ się resetuje, ponieważ licznik zaczyna zliczać od początku. Próba odczytania kończy się tak samo.
FUSE bity
EESAVE = 1
SPIEN = 1
SOFT:
1) AVR STIDIO - 4.18
2) BASCOM - 1.11.8.1
Pytanie
Co robię źle że nie działa mi zapisanie zmiennej do EEPROM w trakcie działania programu.
Pozostałe tematy/programy do tej pory działały bez problemów
Proszę o odpowiedz od osób posiadających ten sam programator i nie zamykanie pod tytułem u mnie działa jak to było z 1 postem. Gdzie rozwiązanie było dodanie zmiennej $data i $eepromhex do programu a nie wgranie innym programatorem.
Jestem początkującym więc wybaczcie jakieś niedociągnięcia.
Gdzie jest problem :
Kupiłem książkę i płytkę z układem - Mikrokontrolery dla początkujących.
Jest to kurs programowania w BASCOMIE.
W rozdziale opisującym programowanie EEPROM nie jestem w stanie zaprogramować EEPROMa.
Sprzęt :
1) Programator STK500 po USB
2) Procesor jak w temacie
Błąd
Chciałem z poziomu programu zapisać zmienna do EEPROMa - też przykład z książki (uprościłem aby nie śmiecić ) - przy próbie zapisu do EEPROMa (tak mi się wydaje) układ się resetuje, ponieważ licznik zaczyna zliczać od początku. Próba odczytania kończy się tak samo.
FUSE bity
EESAVE = 1
SPIEN = 1
SOFT:
1) AVR STIDIO - 4.18
2) BASCOM - 1.11.8.1
Pytanie
Co robię źle że nie działa mi zapisanie zmiennej do EEPROM w trakcie działania programu.
Pozostałe tematy/programy do tej pory działały bez problemów
Proszę o odpowiedz od osób posiadających ten sam programator i nie zamykanie pod tytułem u mnie działa jak to było z 1 postem. Gdzie rozwiązanie było dodanie zmiennej $data i $eepromhex do programu a nie wgranie innym programatorem.
$eeprom
Zmienna:
Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144
$data
$eepromhex
Config Portb = 255 : Portb = 255
Config Portd = &B1111100 : Portd = 127
Config Timer0 = Timer , Prescale = 64
Enable Interrupts : Enable Timer0 :
On Timer0 Co4ms
Dim Mux As Byte
Dim Eprzmie As Eram Byte At 10
Dim Licznik As Byte
Dim Ekran As Byte
Dim Jedn As Byte , Dzies As Byte , Jedn_o As Byte , Dzies_o As Byte
Ekran = 0
Licznik = 0
Do : Loop : End
Co4ms:
Incr Licznik
If Licznik = 250 Then ' + 1 sek
Licznik = 0
Incr Ekran
If Ekran = 99 Then Ekran = 0
End If
Debounce Pind.0 , 0 , Wreepr
Debounce Pind.1 , 0 , Reeepr
Incr Mux : If Mux = 4 Then Mux = 0 : Portd = &B1111111
Select Case Mux
Case 0:
Jedn = Makebcd(ekran)
Jedn_o = Jedn And &B00001111
Portb = Lookup(jedn_o , Tabela)
Portd.3 = 0
Case 1:
Dzies = Makebcd(ekran)
Dzies_o = Dzies And &B11110000
Shift Dzies_o , Right , 4
Portb = Lookup(dzies_o , Tabela)
Portd.4 = 0
End Select
Return
Wreepr:
Eprzmie = Ekran
Return
Reeepr:
Ekran = Eprzmie
Return
Tabela:
Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144